两个二进制数,用了以下if逻辑关系比较;[code]int main() { unsigned char a,b; a=0b00000000; b=0b11111111; if(a!=(~b)) printf("a!=(~b)"); return 0; } [/code]一直显示a!=(~b),难道二进制数不能这样比较?
>>> data='\x00\x00\x00\x04' >>> c=array('i') >>> c.fromstring(data) >>> c array('i', [67108864]) 可是data明明应该是4啊。。。 我也看到过,计算机里读数有从高位到低位,和从低位到高位。。这应该怎么办? [ 本帖最后由 yjphhw 于 2009-4-15 16:01 编辑 ]
如题: 一个int num1; 为32位的2进制 int值。 请问如何把num1转换 成 一个 string ; string str1; 问题 : linux 下 如何 把num1 转换 成 str1 输出。 麻烦详细点。谢谢各位大大了!
:(1)十进制数转二进制数、八进制数、十六进制数的方法是整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。以十进制数26转二进制为例: 26/2=13 余数0 二进制的个位数 13/2=6 余数1 二进制的十位数 6/2=3 余数0 二进制的百位数 3/2=1 余数1 二进制的千位数 1/2=0 余数1 二进制的万位数 所以结果为11010 ...
我在论坛中一个帖子里看到参考, http://bbs.chinaunix.net/thread-1320230-1-1.html 但是用帖子中提到的方法自己试了一下, 结果出现如下错误: > echo 'ibase = 10; 4220311' |bc | awk '{printf("%c%c%c%c",$0/0x1000000,$0/0x10000,$0/0x100,$0)}'| od -tx1 awk: division by zero record number 1 0000000 后来又找到另外一个帖子: http://bbs.chinaunix.net/thread-1049429-1-1.html 按照帖子里的方法, 试了一下还是不行...