二进制和位运算,以及进制的转换

 

 有些语言用0b111来表示二进制数111。但至少C没有二进制常数表示方法,高版本的编译器支持0b表示二进制数

例子:

int num1 = 210;  //十进制

int num2 = 01010;  //八进制

int num3 = 0x1010;  //十六进制


 

进制转换:

1.其他进制转十进制(小数也一样的操作,小数取-1次开始):

  1)二进制转十进制

    例:1011(2)=1×23+0×22+1×21+1×20=8+0+2+1=9(10)

    从最低为开始,每个0或1乘以2的n次方,n为这个位的位数(从右往左,第0位开始)

    如例所示:第零位的数字是1,则有1×20,第三位的数字是1,则有1×23。如此类推。

  2)八进制转十进制(类似于二进制转十进制)

    例:0123(8)=0×83+1×82+2×81+3×80=0+64+16+3=83(10)

    从最低为开始,每位数乘以8的n次方,n为这个位的位数(从右往左,第0位开始)

    如例所示:第零位的数字是0,则有3×80,第三位的数字是0,则有0×83。如此类推。

  3)十六进制转十进制(类似于二进制转十进制)

    牢记:A=10;;B=11;;C=12;;D=13;;E=14;;F=15;;

    例:0x34A(2)=3×162+4×161+10(A)×160=768+64+10=842(10)

    从最低为开始,每位数乘以16的n次方,n为这个位的位数(从右往左,第0位开始,注意前面两位是表示此时为十六进制还是属于十六进制的数)

    如例所示:第零位的数字是A,则有10×160,第二位的数字是3,则有3×162。如此类推。

  把下列进制转换为十进制(答案是白色字体):

  0b110001100=396

  02456=1326

  0xA45=2629

其余进制自行学习!!!!!!!!!!!!

2.十进制转其他进制:

3.二进制转其他进制:

4.其他进制转二进制:

posted @   Morning枫  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示