中易网

最近在学二进制与其他进制。 各位前辈能否介绍本专门用来熟悉进制转换的书?

答案:3  悬赏:10  
解决时间 2021-01-15 01:53
  • 提问者网友:心如荒岛囚我终老
  • 2021-01-14 09:38
最近在学二进制与其他进制。 各位前辈能否介绍本专门用来熟悉进制转换的书?
最佳答案
  • 二级知识专家网友:何以畏孤独
  • 2021-01-14 10:34
只要是讲C语言的书,基本上都有进制转换。
我看您也甭找了,找到了也是正码、反码、 补码、各种码的越看越晕。这年头,无码才是王道!

直接给你写个进制转换是入门级的无码万能方法:

1.十进制数N转X进制。看好了是X进制,就是任何进制。
方法:1.N除X,记余数和向下取整商(即1.xxx取1,2.xxx取2,0.xxx取0)。
2.将余数写在纸上,并从右向左依次记录。
3.若商不为零,则将商作为X,执行第一步。
4.商为零。将记录的余数从左到右依次写出即可得到转换后的X进制数了。

如:十进制177转为古巴比伦人的60进制。
1. 177除60,商取2(向下取整),余数为57(最好记做古巴比伦人的60进制数码,这样才逼真).

2. 因为2≠0;将2除60,得到商为零,余数为2. 2写在57的左边。
3. 商为零,转换结束。把你记在纸上的余数从左到右写下来,就是转化后的60进制数了,即2 57(此处注意应该写为该进制的数码)。

2.X进制数转十进制数
方法:设一个X进制数为
Yn,Yn-1,…Y2,Y1,Y0
Yn表示第N+1位权位上的值(123,就是第三位、百位为Y2,且Y2为1,十位Y1为2,个位Y0为3)
好,咱们开始变魔术吧
把上边的X进制数写为:Yn乘以X^(X^X就是x的n次方)
Yn-1乘以X^(n-1)
Yn-2乘以)X^(n-2)
……
Y2乘以X^2
Y1乘以X^1(此处X,不解释
Y0乘以X^0(此处1,不解释)
OK,再把这些一个个独立的式子用加号连接起来:
Yn*X^n+Yn-1*X^(n-1)+ Yn-2*)X^(n-2)……Y2*X^2+Y1*X+Y0
好了,算出来,搞定,哦耶耶!

例子也随便给个吧,如16进制abcd吧
先编号 ABCD
3210

好,开始干活:
A*16^3(A是Y3,16是16进制,3是A的数位编号)
A*16^3+B*16^2+C*16+D
数码A表示16进制的10(你要是不熟,直接掰手指头算,a=10,b=11,c=12....f=15即可)
原式=10x16X16X16 + 11X16X16 + 12X16 + 13
算出来,哦耶耶,搞定!

简单吧!OK,你现在碉堡了,甭管是2、8、16进制,还是1333333333进制,又或者是8436234234654手机号码进制,你都能搞定了(注意,只是整数部分)
看着很多,看明白了就会发现贼简单。
好了,学会了的话回复我,我把小数部分换算公式的也给你总结一下。
全部回答
  • 1楼网友:笑迎怀羞
  • 2021-01-14 11:44
计算机理论基础
  • 2楼网友:独钓一江月
  • 2021-01-14 11:38
熟悉十进制,其他进制也就好理解了,好理解就容易计算了。
通过两个例子很容易掌握:
二进制转成十进制,二进制1010转成十进制数:1010B=?D
写出二进制各位上的基数,个位是1,高位是低位乘以2,1010B有4位,那么就写到4位为止
8,4,2,1 然后将要转换的数写在下面一行,按位对齐
1,0,1,0 此式按位上下做乘法,结果左右做加法
1*8+0*4+1*2+0*1=8+2=10,所以1010B=10D
简单来说,通过竖式,你就可以知道,这个数中有1个8和1个2,加起来就可以了。
n进制转十进制:写出n进制各位上基数,与二进制不同的是高位是低位乘以n,其他计算方法与上例相同。
十进制转二进制,十进制108转二进制数:108D=?B
写出二进制各位上的基数,与上例一样,写到比108大为止
128,64,32,16,8,4,2,1
__0,_1,_1,_0,1,1,0,0
108除以最高位上基数得到商和余数:108/128=0[108],将商写到128这位下面
继续用上步的余数计算:108/64=1[44],将1写到64这位下面
继续:44/32=1[12],12/16=0[12],12/8=1[4],4/4=1[0],计算到余数为0停止,其他剩余位填0
108D=1101100B
要想转换十进制到n进制,写出n进制的基数,像上面一样计算即可。
记忆:个位是1,写基数即可计算,简单吧。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息