我可以问一下如何找到32位版本的数字,因为我想在JavaScript中使用按位AND运算符处理数字.它表示这些数字在32位版本中执行按位运算.
第二个问题是它在JavaScript中按位AND运算符(&),数字的运算以32位版本执行,对吧?然后在最后它将它转换回64位版本?
我遇到了一段我无法解决的代码:
public void Connect()
{
if (!(!string.IsNullOrEmpty(_vpnConnectionName) & !string.IsNullOrEmpty(_ipToPing)))
{
return;
}
GetConnected();
}
Run Code Online (Sandbox Code Playgroud)
我在SO和其他地方研究了单个&符号,发现它是一个按位AND操作数.然而,所有解释都围绕着整数.
我可以理解按位运算对整数的适用性,但它们如何适用于布尔值?
相关代码是这样的:
typedef unsigned long int chunk_head;
typedef struct malloc_chunk
{
// Contains the size of the data in the chunk and the flag byte.
chunk_head head;
// Deliberately left unsized to allow overflow.
// Contains the payload of the chunk.
unsigned int data[];
};
Run Code Online (Sandbox Code Playgroud)
举个例子,"get"宏是这样的:
//Get the size of the data contained within the chunk.
#define GET_CHUNK_SIZE(chunk) ((chunk.head) & 0xFFFFFF)
Run Code Online (Sandbox Code Playgroud)
高位字节我正在使用标志位 - "inuse"和"可以合并",而我找到的任何其他字节都是有用的.
现在我已经完成了提供背景信息,正如我在标题中所说的那样,我需要能够将较低的3个字节更改为块的大小.我最初的本能是按位和大小的标头,因为它会正确对齐,但后来我意识到它也可能会覆盖标志字节,因为它会自动加上零,直到它的大小与长整数相匹配.我甚至不确定你可以按位和一个int和一个long.无论如何,帮助非常感谢.
我的问题是这样的.
我在Java中有一些字节计算.在某些计算中,我在字节值中得到了我想要的结果"2a",但在某些计算中,我得到字节值为"ffffff9a".我只想从结果"ffffff9a"中输入"9a"值.我尝试了这个,但没有奏效.
byte a = (byte) b & 0xff;
Run Code Online (Sandbox Code Playgroud)
其中b的值为"ffffff9a"字节值.
但是显示相同的过程就像
System.out.println(Integer.toHexString(b & 0xff));
Run Code Online (Sandbox Code Playgroud)
我哪里错了?我能做些什么来获得我想要的价值?
谢谢
实际上我试图将8位字符转换为gsm 7位.如果有人可以帮我解决这个问题,那也会有所帮助.字符串存储为字节数组,我必须将此字符串或8位字节转换为7位.
我正在尝试做
and eax, 0fh
Run Code Online (Sandbox Code Playgroud)
我知道0fh意味着15。从
and eax, 0fh
Run Code Online (Sandbox Code Playgroud)
我应该清除除最后 4 位之外的所有内容eax。我不明白你是如何得到 (32-4)=28 位 1 和 4 个 0 的。
我已经给出了一个问题,将base从10转换为2 而不使用除法(/)和模块(%),因此我提出了使用按位AND(&)和右移(>>)运算符的解决方案.
所以我开始了解这两个操作员究竟做了什么,但仍然有些问题我无法回答或理解背后的逻辑.
如果我理解正确的除法工作根据数字的位置值,十进制和二进制两者.当我们将数字除以10或2时,我们将位置值在两者中向右移动一个位置,这将导致十进制除以10,二进制除以二.
X = 120(十进制)如果X >> 1我们将X = 12(除以10)
Y = 1000(以2为基数)如果Y >> 1,我们将X = 100(除以2)
但是当我使用这段代码时:
#include<iostream>
using namespace std ;
int main()
{
int a,b=1;
cout <<"enter an integer"<<endl;
cin>> a;
cout<<(a & b)<<endl;
a=a>>1;
cout<<a;
cout<<endl;
system("pause");
return 0 ;
}
Run Code Online (Sandbox Code Playgroud)
我感到困惑,因为在我看来它就是这样的
a = 120(以十为基数)如果X >> 1,我们将X = 12(除以10)
但结果就是这样
a = 120(以十为基数)如果X >> 1我们有X = 60(除以2 !!)
我不明白结果的两个要点:
第一:如果这个运算符(>>)只是移动代码中数字的位置值并且不改变数字的基数(10)它应该产生另一个结果(12),而不是我们在代码结果中看到的结果(它是60).为什么我们可以看到这个结果(60)而不是12?
第二:如果它是二进制左移(对我来说似乎这样),它是否首先由IDE将十进制更改为二进制?
关于按位AND,如果它是逻辑门(它似乎是):
1.除了0和1以外,我们如何设置其他值并且钢有答案?
2.按位和规则
Y'1 = Y
然后它应该是120但代码的结果是1.这是什么解释?
3.它可以生成提醒(根据哪些数学运算和逻辑)?
有谁知道如何使用按位AND(&)作为JPA NamedQuery的准则,而不必使用@NamedNativeQuery?
我将状态位存储在字段中。
我将以下def用于视图的实体:
@NamedQueries({
@NamedQuery(name="ViewProductsList.findAll", query="SELECT v FROM ViewProductsList v"),
@NamedQuery(name="ViewProductsList.findFeatured", query="SELECT v FROM ViewProductsList v WHERE v.statusId & 16"),
@NamedQuery(name="ViewProductsList.findBySubcategory", query="SELECT v ViewProductsList v WHERE v.subcatId IN (:subcatIds)"),
})
Run Code Online (Sandbox Code Playgroud)
第一个工作正常,但第二个不喜欢该表达式,我得到以下信息:
18:02:13,528 DEBUG [DataNucleus.Query] - JPQL Single-String with "SELECT v FROM ViewProductsList v WHERE v.statusId & 16"
18:02:13,553 DEBUG [DataNucleus.Query] - JPQL Query : Compiling "SELECT v FROM ViewProductsList v WHERE v.statusId & 16"
>>ERROR: 'Portion of expression could not be parsed: & 16'
Run Code Online (Sandbox Code Playgroud)
在生产中使用dev MySQL数据库和Google Cloud SQL,因此它必须在两个版本上都可以使用...
有任何想法吗? …
给定一个非常大的整数数组,其中元素可以达到10 ^ 9,如何找到具有最大AND值的对.我目前的方法是计算所有可能的对并遍历它并找到最大值,但是它非常慢.还有其他方法吗?
Swift 2限制了对Bool值使用按位运算符.这是令人愉快的.在ObjC中,当您需要执行每个操作数时使用它非常有用.例如:
a.isFoo() & b.isFoo() & c.isFoo()
Run Code Online (Sandbox Code Playgroud)
在这种情况下,使用按位&将执行每个方法.
如果我使用逻辑运算符&&,它将执行第一个运算符,如果它是false,表达式将返回false而不执行其他两个操作数.
我想找到同样优雅的方式与工作,与Bool斯威夫特.可能吗?
我的问题很简单:如何int在C++中执行按位AND ?
#include <iostream>
int main() {
unsigned int foo = 3;
unsigned int bar = 6;
std::cout << foo & bar;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它输出3而不是输出2.
当我执行任何其他按位操作时,它也只打印第一个变量.
如何让它进行操作?
bitwise-and ×10
c++ ×2
32-bit ×1
algorithm ×1
assembly ×1
binary ×1
bit-shift ×1
byte ×1
c ×1
c# ×1
c++11 ×1
datanucleus ×1
java ×1
javascript ×1
jpa ×1
masking ×1
mysql ×1
objective-c ×1
swift ×1