【发布时间】:2021-07-24 07:22:42
【问题描述】:
假设我在 dart 中有一个字符串“compute”,
String = "计算机";
它在数组中有一些二进制/十六进制/十进制值表示
二进制 = [01100011 01101111 01101101 01110000 01110101 01110100 01100101 01110010]
十六进制 = [63 6F 6D 70 75 74 65 72]
十进制 = [99 111 109 112 117 116 101 114]
以编程方式获取每 4 个字节 (Dword) 总和的最佳方法是什么?
二进制计算数组
01100011 01101111 01101101 01110000
+ 01110101 01110100 01100101 01110010
( sum here )
如果字符串增长,例如“这是计算机”,它仍然必须获取每 4 个字节的总和
ASCII - 这是计算机
十六进制 - 74 68 69 73 20 69 73 20 63 6F 6D 70 75 74 65 72
二进制 - 01110100 01101000 01101001 01110011 00100000 01101001 01110011 00100000 01100011 01101111 01101101 01110000 01110101 01110100 01100101 01110010
十进制 - 116 104 105 115 32 105 115 32 99 111 109 112 117 116 101 114
二进制计算数组
01110100 01101000 01101001 01110011
00100000 01101001 01110011 00100000
01100011 01101111 01101101 01110000
+ 01110101 01110100 01100101 01110010
( sum here )
【问题讨论】:
-
您能否举例说明您的示例中的预期总和应该是多少?总和是否也限制为 4 个字节?如果是这样的话,我猜我们可以溢出?
-
是的,总和也限制为 4 个字节。