我正在写一段C代码,它将整数转换成二进制表示,反转二进制,然后再转换回整数。它工作得很好,但我需要它来处理直到10^9的输入值。现在,它似乎对任何大于10^7的值都是无效的。我的意思是,我放入一个像10000000这样的数字,并得到17967657062982931584作为二进制表示(尽管对于较小的整数是准确的)。此外,我不确定在哪里我的int_to_binary是唯一遇到这个问题的函数,或者其他函数是否也需要针对大输入进行优化。你知道我哪里错了吗?谢谢。
#include <stdio.h>
#include <string.h>
unsigned long lo
这些16位字中的每一个都可以解释为2的补码数或无符号数。查找对应于每种解释的十进制整数。
A) 00 A3
B) B6 4A
好的,我对这里的措辞有点困惑。A= 163,B= 46,666,但这是一个无符号数字还是结果2的补码?我相信这是个无符号的数字。为了得到2的补码,我只需要把它转换成二进制形式吗?如果可能的话,我希望能看到一个例子。
我在互联网上寻找一种将十进制数转换成二进制数的方法。我在某个论坛上找到了这段代码。
var number = prompt("Type a number!") //Asks user to input a number
var converted = []; // creates an array with nothing in it
while(number>=1) { //While the number the user typed is over or equal to 1 its shoud loop
converted.unshift(number%
好的,我知道104的二进制等价物是1101000。
10=1010
4=0100
那么,104=1101000 (如何获得它??它们如何混合在一起并获得这个二进制文件?)
从示例..。
来自"hellohello“的八位字节是E8 32 9B FD 46 97 D9 EC 37。
This bit is inserted to the left which yields 1 + 1101000 = 11101000 ("E8").
这部分我还是理解的,但是怎么把11101000转换成E8呢?
我为所有这些菜鸟问题感到抱歉,我昨天才学会的,我搜索了一整天,但仍然不能真正理
我需要一个int并将它转换成它的字节形式。
也就是说,我需要把“1”转换成“00000001”或“160”,然后把它转换成“101000000”。
目前,我正在使用这个
int x = 3;
string s = Convert.ToString(x, 2);
int b = int.Parse(s);
这是一种糟糕的做事方式,所以我正在寻找一个更好的方法。
有什么建议吗?
编辑
基本上,我需要一个名单,每一个数字最多256的基数-2。我将把所有的数字存储在一个列表中,并将它们保存在我的数据库中的一个表中。
更新
我决定将
import java.io.*;
public class Main2 {
public static void main(String[] args) throws Exception {
DataOutputStream dos = new DataOutputStream(new FileOutputStream("Text.t"));
dos.writeByte(10101010);
DataInputStream dis = new DataInputStream(new FileInputStream(