查找包含k位的所有长度为n的二进制字符串的最佳算法是什么?例如,如果n = 4且k = 3,则有......
0111
1011
1101
1110
Run Code Online (Sandbox Code Playgroud)
我需要一个很好的方法来生成这些给定任何n和任何k所以我更喜欢用字符串来完成它.
1 = 0b1 -> 1
5 = 0b101 -> 3
10 = 0b1010 -> 4
100 = 0b1100100 -> 7
1000 = 0b1111101000 -> 10
…
Run Code Online (Sandbox Code Playgroud)
如何获得整数的位长度,即在Python中表示正整数所需的位数?
例如,如果n=9,那么有多少个不同的值可以用9个二进制数字(位)表示?
我的想法是,如果我将这9位中的每一位设置为1,我将使这9位数能够表示的最高数字.因此,最高值1 1111 1111等于511十进制.因此,我得出结论,二进制的9位数可以表示511个不同的值.
我的思维过程是否正确?如果没有,有人可以解释我错过了什么吗?我怎样才能将它推广到n比特?
我想在文本框中显示一个字节.现在我正在使用:
Convert.ToString(MyVeryOwnByte, 2);
Run Code Online (Sandbox Code Playgroud)
但是当字节在0开始时,那些0正在被诅咒.例:
MyVeryOwnByte = 00001110 // Texbox shows -> 1110
MyVeryOwnByte = 01010101 // Texbox shows -> 1010101
MyVeryOwnByte = 00000000 // Texbox shows -> <Empty>
MyVeryOwnByte = 00000001 // Texbox shows -> 1
Run Code Online (Sandbox Code Playgroud)
我想显示所有8位数字.
我有一个文件,其中第一个字节包含编码信息.在Matlab中,我可以逐位读取字节var = fread(file, 8, 'ubit1'),然后检索每个位var(1), var(2),等等.
python中有没有相同的位读取器?
我刚刚遇到了原始类型包装类中的常量,如Double.POSITIVE_INFINITY和Double.NEGATIVE_INFINITY.在API中,它将第一个定义为:
持有double类型的正无穷大的常量.它等于Double.longBitsToDouble(0x7ff0000000000000L)返回的值.
其他人也有这些相同的定义.
我遇到的问题是了解这些常数究竟是什么.它们实际上不能或代表正/负无穷大,因为系统本质上是有限的.它是Java创建者认为会定义无限概念的一些任意位设置吗?或者这些确实具有某种特殊价值?如果它只是一个被解释为a的任意字符串double,那么是否有一些正常的数字,当被解释为double将返回POSITIVE_INFINITY而不是实际预期的任何值?
请原谅我,如果Double.longBitsToDouble(0x7ff0000000000000L)API 的部分答案是明显的.说实话,这个描述对我来说非常神秘,我不会假装理解十六进制值实际上意味着什么或代表什么.
我试图在javascript中将一个整数(我知道将介于0和32之间)转换为0和1的数组.我环顾四周但找不到有用的东西..
所以,如果我有一个22的整数(二进制10110),我想访问它:
Bitarr[0] = 0
Bitarr[1] = 1
Bitarr[2] = 1
Bitarr[3] = 0
Bitarr[4] = 1
Run Code Online (Sandbox Code Playgroud)
有什么建议?非常感谢
这可能是非常基本的,但为了节省我一小时左右的悲伤,任何人都可以告诉我如何计算出代表Java中给定正整数所需的位数?
例如,我得到小数11,(1011).我需要得到答案,4.
我想如果我能弄清楚如何将除最高位之外的所有位设置为0,然后>>>它,我会得到我的答案.但是......我做不到.
我知道C/C++标准只能保证每个字符最少 8位,理论上9/16/42 /其他任何东西都是可能的,因此所有关于编写可移植代码的网站都会警告不要假设8bpc.我的问题是"非便携式"这是真的吗?
让我解释.在我看来,有三类系统:
char不完全是 8位,我会感到非常惊讶.(如果我错了,请纠正我)char位数比8位多,我不会感到非常惊讶,但我还没有听说过一个这样的系统(如果我不知道的话,请再次通知我)底线:是否有共同的(大于%0.001)平台(在类别1和2以上),其中char是不是 8位?我的上述猜测是真的吗?
我正在使用Python3.2.我需要将十六进制流作为输入并在位级解析它.所以我用过
bytes.fromhex(input_str)
将字符串转换为实际字节.现在我如何将这些字节转换为位?