Math 二进制字符串转换成十进制值,公式?
使用MathematicaMath 二进制字符串转换成十进制值,公式?,math,binary,wolfram-mathematica,Math,Binary,Wolfram Mathematica,使用Mathematica Binary String: "FBCD" #1 I: ImportString["FBCD", {"Binary", "Bit"}] O: {0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \ 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0} #2 I: ImportString["FBCD", {"Binary", "UnsignedInteger32"}]
Binary String: "FBCD"
#1
I: ImportString["FBCD", {"Binary", "Bit"}]
O: {0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0}
#2
I: ImportString["FBCD", {"Binary", "UnsignedInteger32"}]
O: {1145258566}
#3
I: ImportString["FBCD", {"Binary", "Byte"}]
O: {70, 66, 67, 68}
使用#3输出中的字节值{70,66,67,68}得到#2输出中的int32值{1145258566}的实际数学公式是什么
(70^4)+(66^3)+(67^2)+68
我知道这是不正确的,如果有正确的公式,我会寻找正确的公式。((68*256)+67)*256+66)*256+70=1145258566((68*256)+67)*256+66)*256+70=1145258566
FromDigits[Reverse[{70, 66, 67, 68}], 256]
也就是说,68*256^3+67*256^2+66*256+70
看看你提到的不正确的公式,我建议读一读。还要考虑一下,如果有一种变量可以存储k
不同的值(一个字节可以存储256个不同的值,通常通过0..255
用整数标识),那么其中两个变量可以存储k*k=k^2
不同的值,更一般地说,其中的n
可以总共存储k^n
不同的值。
FromDigits[Reverse[{70, 66, 67, 68}], 256]
也就是说,68*256^3+67*256^2+66*256+70
看看你提到的不正确的公式,我建议读一读。还要考虑一下,如果有一种变量可以存储k
不同的值(一个字节可以存储256个不同的值,通常通过0..255
用整数标识),那么其中两个变量可以存储k*k=k^2
不同的值,更一般地说,其中的n
可以总共存储k^n
不同的值