假设我们在C++中有一个void Fill(char*in,int*out)
形式的函数,它应该从char*in
中读取5个字符的二进制序列,将它们转换为int=i,并将int*out
的第i个位置从0
切换为1
。
示例:char*in
为:
'00101 10010'
,因此值为5和18。
int*out
主要为空,有32个空位,因此它是:0000000000000000000000000000000000
。
由于我们读取的数字是5和18,所以我们必须在int*out
中将(从0开始计数)第5个0
转换为1
和第18个0
转换为1
。
最终的int*out
看起来如下:0000 0000 0000 0100 0000 0000 0000 0010 0000
。换句话说,我们的int*out
是一个特定类型的集合,如果char*In
中有一个数字,则“点亮”1s
。
我想对此进行编码,我已经发现最好的方法是使用位操作。我知道我必须使用递归遍历char*in
本身,但我在找到一种方法将这些char*in
值(点亮1s
)插入到我们的int*out
中时遇到了麻烦。
我用于递归迭代char*in
的代码如下:
if(*(in) != '\0' ){
if(*(in) != ' '){
cout << *in;
Emplace(in + 1, out);
}
else{
Emplace(in + 1, out);
}
}
因为我们只需要二进制字符,所以它会贯穿整个过程直到结束,并通过每一个空格。
我的问题是-我现在如何做1
照明?我如何从这个字符中读取一个值,并在正确的位置“打开”int*out
中的1
?
谢谢你,很抱歉这么长的帖子。
我想出了一个主意!
void Fill(char *in, int *out, int i){
if(*(in+i) != '\0'){
if(*(in + i) != ' '){
int temp_int = 1;
if(*(in + i) == '1')
temp_int <<= 16;
i++;
if(*(in + i) == '1')
temp_int <<= 8;
i++;
if(*(in + i) == '1')
temp_int <<= 4;
i++;
if(*(in + i) == '1')
temp_int <<= 2;
i++;
if(*(in + i) == '1')
temp_int <<= 1;
Union(temp_int, *out, out);
}
i++;
Fill(in, out, i);
}
}
基本上,我们创建一个临时整数,根据char值将它的“1”左移,然后与原始的*out
合并。
问题内容: 是否可以用int []填充JComboBox?我正在编写一个代码,该代码将使用填充了年份(整数)的JComboBox。 我写的代码是这样的: 我希望将它们转换为ComboBox中的整数,以便可以从中减去。我是否必须用字符串填充ComboBox,然后在输入它们之后使它们成为整数?还是有一种方法可以用int []实际填充ComboBox? 问题答案: 是泛型的,但是Java泛型不支持原始类
createBitmap(int-width、int-height、Bitmap.Config-Config)如何填充位图?我想创建一个具有给定宽度和高度的位图,我不想生成随意的颜色数组。我发现这个方法http://developer.android.com/reference/android/graphics/Bitmap.html#createBitmap(int,int,android.gr
在Thymeleaf中,我可以使用 但是我不知道如何输出到表单动作属性中。 有人对Thymeleaf超文本标记语言有什么想法吗? 样例JavaSpring-MVC控制器代码
/views/fornecedor/ordersearch.xhtml@34,84 value=“#{order.id}”:类“java.util.HashSet”没有属性“id”。 和:
我正在使用核心数据,并试图用NSMutableSet来填充UITableView。我有两个实体,团队和球员。在我的addTeamsController上,我正在为球队保存一名球员,如下所示 在另一个viewController上,我试图用团队成员填充一个tableview。为了做到这一点,我做了如下工作 然后在我的行和索引路径单元格中,我执行以下操作 我得到了错误 我想知道填充按玩家名字排序的ta
格式 jsTree需要特定的格式才能使用JSON。在标准语法中,不需要任何字段-仅传递您需要的内容。请记住,您将能够访问您指定的任何其他属性-jsTree不会触及它们,以后您将能够使用它们(original在每个节点上使用该属性)。 要更改节点的图标,请使用icon属性。指定包含的字符串/将显示该图像作为节点图标。使用任何其他字符串将把该类<i>应用于用于表示图标的元素。您可以使用布尔值false