问题标签 [bit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 文件格式中的整数类型
我目前正在尝试更深入地了解文件格式。
我有一个 3D 文件格式(在这种情况下为 U3D)的规范,我想尝试实现它。没什么大不了的,只是为了学习效果。
我的问题很早就从需要定义的类型开始。我必须定义不同的整数(8 位、16 位、32 位无符号和有符号),然后需要将它们转换为十六进制,然后再将其写入文件。
我如何定义这些类型,因为我不能只创建一个 I16 即?我的另一个问题是如何将 I16 转换为 8 位的十六进制数(即 0001 0001)。
java - 在Java中将一个字节转换为长度为4的布尔数组
我需要在 Java 中将一个字节转换为一个由 4 个布尔值组成的数组。我该怎么办?
perl - Perl 打包/解包/移位
我在 Perl 中遇到这个问题已经好几天了,在搜索了无数的手册页、perldocs 和谷歌搜索太多的搜索词之后,希望这里有人可以帮助我。
我得到了两个代表十六进制值的字符串,即“FFFF”,而不是 Perl 十六进制数 0xFFFF。给定其中两个字符串,我希望将它们转换为二进制形式,对两者进行按位与,然后获取其输出并检查从 LSB 到 MSB 的每一位。
我现在有两个问题;将十六进制字符串转换为十六进制数,并将按位与的结果移位。
为了将十六进制字符串转换为十六进制数字,我尝试了以下方法,当我打印出来检查时这些方法似乎不起作用:
使用“打印”来检查其中的每一个都不会显示正确的值,使用“sprintf”也不会......
第二个问题发生在我执行按位与之后,我想通过右移 1 来检查每个位。为了避免前面的问题,我使用了实际的 Perl 十六进制数字而不是十六进制字符串(0xffff 而不是“ffff”) . 如果我尝试按如下方式执行右移:
此时一切看起来都很好,使用“打印”我可以看到 AND 操作的值看起来是正确的,但是当我尝试按如下方式转换时:
我得到的结果值是二进制形式但不正确。
执行这种操作的正确方法是什么?
c++ - 使用 bitset 代替手写的位操作代码?
在手写的地方使用 bitset 是否有任何性能损失/增益?
如何在运行时使用 bitset 构建以下内容
- 将 2 到 5 之间的所有位设为零,即
11110011
.
c# - c#中布尔值的二进制表示是什么
我知道一个布尔值是 1 个字节(8 位长)但我想知道它的二进制表示是什么。例如十进制 => 二进制 4 => 100 (0000 0100) 8 => 1000 (0000 1000) 布尔值 => ???
sql - 选择具有默认值的可空位
我需要在视图中选择一个可为空的位列,但只要值为 NULL,就使用默认值 FALSE。(由于其他原因,我无法在源表本身上添加默认值。)这就是我正在做的事情。
我必须在四列上执行此操作,所以我想知道是否有更好/更有效的方法来执行此操作。
c++ - 如何将位存储到一个巨大的字符数组以进行文件输入/输出
我想将大量信息逐位存储到一个块中,并将其保存到一个文件中。
为了让我的文件不那么大,我想使用少量位来保存指定的信息而不是 int。
例如,我想将 Day、Hour、Minute 存储到文件中。
我只想要 5 位(天)+ 5 位(小时)+ 6 位(分钟)= 16 位内存用于数据存储。
我找不到一种有效的方法将它存储在一个块中以放入文件中。
我担心有一些大问题:
我每次要存储的数据长度不是恒定的。这取决于传入的信息。所以我不能使用结构来存储它。
我的块中不能有任何未使用的位,我搜索了一些主题,其中提到如果我将 30 位存储在一个 int(4 字节变量)中,那么我保存的下一个 3 位将自动进入下一个 int。但我不希望它发生!
我知道我可以使用右移,左移将数字放入字符,并将字符放入块中,但效率低下。
我想要一个 char 数组,我可以继续将指定的位放入其中,并使用 write 将其放入文件中。
java - Java中的位总和
对不起朋友我做错了。我又犯了这个错误。真的很抱歉。
这就是问题。
我有一个时间范围
我想要时间总和,例如
直到23:00
所以我需要 totalRange = 256+128+64+32+16+8+4 ;
应该又是这样对不起。
谢谢
mysql - BIT(1) vs ENUM('unknown', 'male', 'female') in MySQL
In performance terms, what will be faster, use a BIT(1) NULL
(null = unknown, 0 = male, 1 = female) or ENUM('unknown', 'male', 'female') NOT NULL DEFAULT 'unknown'
in MySQL MyISAM?
Or this is considered micro-optimization?
[EDIT]
I think I'm going to use ENUM('male', 'female') DEFAULT NULL
mysql - MySQL: Example of where to use the BIT Data Type
If I understand correctly, the pre MySQL 5.0.3 interpretation of the BIT data type meant it could be used as a series of flags? If this is the case I can see practical uses for it in MySQL but imagine it would not have been as efficient as using SET.
Even if the above is not the case, I have great difficulty in understanding how the current implementation of the BIT data type can be practically applied in a database. If anyone is able to provide a simplified explanation and, an example of where it would be applicable, I would be grateful.
I have searched for descriptions and examples elsewhere but have been unsuccessful in finding examples applicable solely to databases.