社区
C语言
帖子详情
急,请教一个位操作的问题
verymorose
2004-07-19 12:45:18
请问各位,望不吝赐教:
怎么用8个ASCII码组成的字符串,去掉每个ASCII字符最前边一位的0,(剩7位,一共7*8=56位)重新组成一个7字节长的字符串?
急,拜托了
...全文
210
9
打赏
收藏
急,请教一个位操作的问题
请问各位,望不吝赐教: 怎么用8个ASCII码组成的字符串,去掉每个ASCII字符最前边一位的0,(剩7位,一共7*8=56位)重新组成一个7字节长的字符串? 急,拜托了
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TalosChen
2004-07-19
打赏
举报
回复
不好意思,一时疏忽。
不客气。
verymorose
2004-07-19
打赏
举报
回复
好像应该是bit[i]=tmp>>7
多谢了
verymorose
2004-07-19
打赏
举报
回复
main(){
char a='a';
char tmp;
int i;
unsigned char bit[8];
for(i=0;i<8;i++){
tmp=a<<i;
bit[i]=tmp>>8;
}
a='1';
for(i=0;i<8;i++){
a|=bit[i]<<(7-i);
}
printf("%c\n",a);
}
楼上的哥们,不好使阿,打印出来是一个乱字符
TalosChen
2004-07-19
打赏
举报
回复
char a='a';
unsigned char bit[8];
for(i=0;i<8;i++){
tmp=a<<i;
bit[i]=tmp>>8;
}
这是将a的八位从高到低依次放入bit[8]中,即bit[0]为最高位。
for(i=0;i<8;i++){
a|=bit[i]<<(7-i);
}
这是第二个例子
应该够清楚了吧
freefalcon
2004-07-19
打赏
举报
回复
void main()
{
char a[8] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'};
char b[7];
for(int i=0; i<7; i++)
b[i] = (a[i] << (i+1) ) | ( ((unsigned char)a[i+1]) >> (6-i) );
}
verymorose
2004-07-19
打赏
举报
回复
比如说如何把一个字符的八位拆开,把每一位写入一个字符变量
以及如何把8个由0和1组成字符,合起来写入一个字符变量
拜托了,就给上边两个例子好吗
verymorose
2004-07-19
打赏
举报
回复
我是新手,对位操作不熟悉阿,能不能给一点例子阿,多谢了
我不是做DES
TalosChen
2004-07-19
打赏
举报
回复
先用一个56位的数组,如 unsigned char bit[56] 将这56位用位运算符>>或<<写到这个数组里(一位对应数组中的一个元素),然后再依次将这已读出的56未写入最终的7字节字符串即可。具体做的时候,可以先将bit[56]七位一组,写一个循环依次处理要处理的八个字符。然后再八位一组,依次写入最终的字符串。
ps.你要做的是DES吗?
verymorose
2004-07-19
打赏
举报
回复
急啊,怎么没人回答,急死我了,拜托了
位操作
基础篇之
位操作
全面总结
Title:
位操作
基础篇之
位操作
全面总结Author: MoreWindowsE-mail: morewindows@126.comKeyWord: C/C++
位操作
位操作
技巧 判断奇偶 交换两数 变换符号 求绝对值
位操作
压缩空间 筛素数
位操作
趣味应用
位操作
笔试面试
位操作
篇共分为基础篇和提高篇,基础篇主要对
位操作
进行全面总结,帮助大家梳理知识。提高篇则
Java
位操作
在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用
位操作
,完全可以达到四两拨千斤的效果,正因为
位操作
的这些优点,所以
位操作
在各大IT公司的笔试面试中一直是个热点
问题
。
位操作
基础 基本的
位操作
符有与、或、异或、取反、左移、右移这6种,它们的运算规则如下所示: 1.在这6种操作符,只有~取反是...
leetcode
位操作
例题
位操作
位操作
(Bit Manipulation)是程序设计中对位模式或二进制数的一元和二元操作。常用的
位操作
有: 消除数字 n 的二进制表示中的最后
一个
1 n & (n - 1) 获得数字n的最低非0位 n & (-n) 常见的移
位操作
1. 数组中只出现一次的数字 例题描述: 给定
一个
非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 思路: 利用
位操作
中的异或操作来完成,异或操作:相同为0,不同为1,所以数组中所有相同的数经过
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章