如何找到字节的排列或组合?

时间:2011-02-03 03:30:31

标签: c++

一个字符(1个字节)可以代表255个字符,但我如何找到它?

4 个答案:

答案 0 :(得分:6)

(回答评论)
有8个01 s的256种不同组合。

这是正确的,因为256 = 2 8 您添加的每个数字都会使组合数量增加一倍。

答案 1 :(得分:3)

在固定宽度的二进制数中,第一位有两种选择,第二位有两种选择,第三种有两种选择,依此类推。 8位字节的组合总数为:

  

2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 = 2 8 = 256

答案 2 :(得分:0)

你是说

吗?
for (char c = " "; c <= "~"; c++) std::cout << c << std::endl;

这应该以ASCII格式显示可打印的字符。要查看字体中的所有字符,请尝试c = 0和c&lt; 255(小心255和无限循环) - 但这很可能不适用于您的终端。

答案 3 :(得分:0)

8位可以表示从二进制00000000到11111111的1和0的排列。就像3个十进制数字一样,可以表示从十进制000到999的十进制数字(0-9)的排列。

你刚开始计算:0,1,2,3,4,5,6,7,8,9,然后在你到达数字最大值后,你继续1从0开始:..., 8,9,10。对吗?然后继续这个,直到用9号填满你的所有数字:...,997,998,999。

二进制是一样的:0,1然后从0开始,从0:0,1,10开始。继续:10,11,100,101,110,111,1000,1001等。

只需从0计数到最大值,即可以用数字表示,这样就可以得到所有的排列。