473,626 Members | 3,443 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Help in translating a few lines of C

I have a customer that we need to send data files to using their
format. Below is a C routine they sent us for computing a CRC. I
tranlated it to the best of my ability to VB6 but can't reproduce their
results.

Here is the C routine.

#define CRC16_POLYNOMIA L 0xA001
crc16(INT16U byte, INT16U crc)
{
INT16U i;
INT16U crc_bit16;
for (i=0;<8;i++)
{
crc_bit16=((crc &0x01)^(byte&0x 01));
crc=crc>>1;
if (crc_bit16)
{
crc=(crc^CRC16_ POLYNOMIAL);
}
byte=byte>>1;
}
return(crc);
}

Here is my VB6 code

Function CRC(CRCIn As Long, ByteIn As Byte) As Long

Const CRC16Polynomial = &HA001
Dim CRCBit16 As Integer
Dim I As Integer
Dim WrkByte As Integer
Dim WrkCRC As Long

WrkByte = ByteIn
WrkCRC = CRCIn
For I = 0 To 7
CRCBit16 = ((WrkCRC And &H1) Xor (WrkByte And &H1))
WrkCRC = ShiftRight(WrkC RC, 1)
If CRCBit16 <> 0 Then
WrkCRC = (WrkCRC Xor CRC16Polynomial )
End If
WrkByte = ShiftRight(WrkB yte, 1)
Next I
CRC = WrkCRC

END Function

And here is the routine that passes each byte through the CRC routine.

CRCIn = 0
CRC16 = 0
Open "C:\vbasic\shif t.src\Page0.bin " For Binary As #1
For I = 1 To 30
A$ = Input(1, 1)
ByteIn = Asc(A$)
CRCIn = CRC16
CRC16 = CRC(CRCIn, ByteIn)
Next I

Page0.bin is a small 32 byte file as shown below. The last 2 bytes are
the CRC as computed by my customers C routine. From looking through
more of their code it appears the CRC is stored as an inverse for some
reason using C's ~ inverse operator.

31 07 49 6E 73 74 72 6F
6E 06 49 6E 53 70 65 63
FF FF FF FF FF FF FF FF
FF FF FF FF FF FF 19 95

I thought the source of the error is in my ShiftRight routine. I tried
roughly 6 different routines claiming to be C's >> equivelent and always
get the same results. Any help is appreciated.

Jul 17 '05 #1
17 5223
dfg
milesh wrote:
I have a customer that we need to send data files to using their
format. Below is a C routine they sent us for computing a CRC. I
tranlated it to the best of my ability to VB6 but can't reproduce their
results.

Here is the C routine.

<snip>

Some people might eventually answer this question, but I think it would
also be appropriate to post in comp.programmin g as well.

Jul 17 '05 #2
Where is the shiftright routine?

Show us the code!

Cheers
A.

"milesh" <mi****@unliste dspam.com> wrote in message
news:bm*******@ dispatch.concen tric.net...
I have a customer that we need to send data files to using their
format. Below is a C routine they sent us for computing a CRC. I
tranlated it to the best of my ability to VB6 but can't reproduce their
results.

Here is the C routine.

#define CRC16_POLYNOMIA L 0xA001
crc16(INT16U byte, INT16U crc)
{
INT16U i;
INT16U crc_bit16;
for (i=0;<8;i++)
{
crc_bit16=((crc &0x01)^(byte&0x 01));
crc=crc>>1;
if (crc_bit16)
{
crc=(crc^CRC16_ POLYNOMIAL);
}
byte=byte>>1;
}
return(crc);
}

Here is my VB6 code

Function CRC(CRCIn As Long, ByteIn As Byte) As Long

Const CRC16Polynomial = &HA001
Dim CRCBit16 As Integer
Dim I As Integer
Dim WrkByte As Integer
Dim WrkCRC As Long

WrkByte = ByteIn
WrkCRC = CRCIn
For I = 0 To 7
CRCBit16 = ((WrkCRC And &H1) Xor (WrkByte And &H1))
WrkCRC = ShiftRight(WrkC RC, 1)
If CRCBit16 <> 0 Then
WrkCRC = (WrkCRC Xor CRC16Polynomial )
End If
WrkByte = ShiftRight(WrkB yte, 1)
Next I
CRC = WrkCRC

END Function

And here is the routine that passes each byte through the CRC routine.

CRCIn = 0
CRC16 = 0
Open "C:\vbasic\shif t.src\Page0.bin " For Binary As #1
For I = 1 To 30
A$ = Input(1, 1)
ByteIn = Asc(A$)
CRCIn = CRC16
CRC16 = CRC(CRCIn, ByteIn)
Next I

Page0.bin is a small 32 byte file as shown below. The last 2 bytes are
the CRC as computed by my customers C routine. From looking through
more of their code it appears the CRC is stored as an inverse for some
reason using C's ~ inverse operator.

31 07 49 6E 73 74 72 6F
6E 06 49 6E 53 70 65 63
FF FF FF FF FF FF FF FF
FF FF FF FF FF FF 19 95

I thought the source of the error is in my ShiftRight routine. I tried
roughly 6 different routines claiming to be C's >> equivelent and always
get the same results. Any help is appreciated.

Jul 17 '05 #3
It might be that "INT16U" not corresopnds to VB:s "int". int16u is
possible a 16 bit unsigned integer, it might be declared like this
somewhere in their code: "typedef unsigned int int16u;" or maybe they
uses "systemC".

This might give you problem width the rightShift. For unsigned values,
the left most bit is always replaced with zeros after shift, but if
the value is signed, the left most bit is either replaced by ones (if
the leftmost bit is a one before the shift) or zeros (if the left most
bit is a zero before the shift). So, you need not an int, but an
unsigned int with 16 bytes. (I think vb int is 32 bit?)

If this can't be achived by vb, then you should implement your own
shift routine. A strange this is, that if vb int is 32 bits, this
should have no effect, and everythis should work out fine (if you do
less than 16 shifts)... (If int is 16 bit in vb, try first to replace
your integers width long.)
milesh <mi****@unliste dspam.com> wrote in message news:<bm******* @dispatch.conce ntric.net>...
I have a customer that we need to send data files to using their
format. Below is a C routine they sent us for computing a CRC. I
tranlated it to the best of my ability to VB6 but can't reproduce their
results.

Here is the C routine.

#define CRC16_POLYNOMIA L 0xA001
crc16(INT16U byte, INT16U crc)
{
INT16U i;
INT16U crc_bit16;
for (i=0;<8;i++)
{
crc_bit16=((crc &0x01)^(byte&0x 01));
crc=crc>>1;
if (crc_bit16)
{
crc=(crc^CRC16_ POLYNOMIAL);
}
byte=byte>>1;
}
return(crc);
}

Here is my VB6 code

Function CRC(CRCIn As Long, ByteIn As Byte) As Long

Const CRC16Polynomial = &HA001
Dim CRCBit16 As Integer
Dim I As Integer
Dim WrkByte As Integer
Dim WrkCRC As Long

WrkByte = ByteIn
WrkCRC = CRCIn
For I = 0 To 7
CRCBit16 = ((WrkCRC And &H1) Xor (WrkByte And &H1))
WrkCRC = ShiftRight(WrkC RC, 1)
If CRCBit16 <> 0 Then
WrkCRC = (WrkCRC Xor CRC16Polynomial )
End If
WrkByte = ShiftRight(WrkB yte, 1)
Next I
CRC = WrkCRC

END Function

And here is the routine that passes each byte through the CRC routine.

CRCIn = 0
CRC16 = 0
Open "C:\vbasic\shif t.src\Page0.bin " For Binary As #1
For I = 1 To 30
A$ = Input(1, 1)
ByteIn = Asc(A$)
CRCIn = CRC16
CRC16 = CRC(CRCIn, ByteIn)
Next I

Page0.bin is a small 32 byte file as shown below. The last 2 bytes are
the CRC as computed by my customers C routine. From looking through
more of their code it appears the CRC is stored as an inverse for some
reason using C's ~ inverse operator.

31 07 49 6E 73 74 72 6F
6E 06 49 6E 53 70 65 63
FF FF FF FF FF FF FF FF
FF FF FF FF FF FF 19 95

I thought the source of the error is in my ShiftRight routine. I tried
roughly 6 different routines claiming to be C's >> equivelent and always
get the same results. Any help is appreciated.

Jul 17 '05 #4
On 17 Oct 2003 00:34:35 -0700, d9****@efd.lth. se (Andreas) wrote:
It might be that "INT16U" not corresopnds to VB:s "int". int16u is
possible a 16 bit unsigned integer, it might be declared like this
somewhere in their code: "typedef unsigned int int16u;" or maybe they
uses "systemC".

This might give you problem width the rightShift. For unsigned values,
the left most bit is always replaced with zeros after shift, but if
the value is signed, the left most bit is either replaced by ones (if
the leftmost bit is a one before the shift) or zeros (if the left most
bit is a zero before the shift). So, you need not an int, but an
unsigned int with 16 bytes. (I think vb int is 32 bit?) VB Int is 16 bit
If this can't be achived by vb, then you should implement your own
shift routine. A strange this is, that if vb int is 32 bits, this
should have no effect, and everythis should work out fine (if you do
less than 16 shifts)... (If int is 16 bit in vb, try first to replace
your integers width long.) Or use a UDT - shove the low bytes into a 4 byte UDT
then Lset that into a UDT holding a Long, and multiply the Long by
two


milesh <mi****@unliste dspam.com> wrote in message news:<bm******* @dispatch.conce ntric.net>...
I have a customer that we need to send data files to using their
format. Below is a C routine they sent us for computing a CRC. I
tranlated it to the best of my ability to VB6 but can't reproduce their
results.

Here is the C routine.

#define CRC16_POLYNOMIA L 0xA001
crc16(INT16U byte, INT16U crc)
{
INT16U i;
INT16U crc_bit16;
for (i=0;<8;i++)
{
crc_bit16=((crc &0x01)^(byte&0x 01));
crc=crc>>1;
if (crc_bit16)
{
crc=(crc^CRC16_ POLYNOMIAL);
}
byte=byte>>1;
}
return(crc);
}

Here is my VB6 code

Function CRC(CRCIn As Long, ByteIn As Byte) As Long

Const CRC16Polynomial = &HA001
Dim CRCBit16 As Integer
Dim I As Integer
Dim WrkByte As Integer
Dim WrkCRC As Long

WrkByte = ByteIn
WrkCRC = CRCIn
For I = 0 To 7
CRCBit16 = ((WrkCRC And &H1) Xor (WrkByte And &H1))
WrkCRC = ShiftRight(WrkC RC, 1)
If CRCBit16 <> 0 Then
WrkCRC = (WrkCRC Xor CRC16Polynomial )
End If
WrkByte = ShiftRight(WrkB yte, 1)
Next I
CRC = WrkCRC

END Function

And here is the routine that passes each byte through the CRC routine.

CRCIn = 0
CRC16 = 0
Open "C:\vbasic\shif t.src\Page0.bin " For Binary As #1
For I = 1 To 30
A$ = Input(1, 1)
ByteIn = Asc(A$)
CRCIn = CRC16
CRC16 = CRC(CRCIn, ByteIn)
Next I

Page0.bin is a small 32 byte file as shown below. The last 2 bytes are
the CRC as computed by my customers C routine. From looking through
more of their code it appears the CRC is stored as an inverse for some
reason using C's ~ inverse operator.

31 07 49 6E 73 74 72 6F
6E 06 49 6E 53 70 65 63
FF FF FF FF FF FF FF FF
FF FF FF FF FF FF 19 95

I thought the source of the error is in my ShiftRight routine. I tried
roughly 6 different routines claiming to be C's >> equivelent and always
get the same results. Any help is appreciated.


Jul 17 '05 #5


Aristotelis E. Charalampakis wrote:
Where is the shiftright routine?

Show us the code!


I have tried about 6 different shiftright routines searching on google.
All seemed to produce the same results so I'm not sure if thats where
the problem is. I keep thinking I must be overlooking something really
simple.

Jul 17 '05 #6
What do you get instead? It is difficult to identify a bug if you don't what the
output is, as well as what it should be. Maybe you are getting all zeros? Doubt
it, but don't know what you are getting.

"milesh" <mi****@unliste dspam.com> wrote in message
news:bm*******@ dispatch.concen tric.net...
I have a customer that we need to send data files to using their
format. Below is a C routine they sent us for computing a CRC. I
tranlated it to the best of my ability to VB6 but can't reproduce their
results.

Here is the C routine.

#define CRC16_POLYNOMIA L 0xA001
crc16(INT16U byte, INT16U crc)
{
INT16U i;
INT16U crc_bit16;
for (i=0;<8;i++)
{
crc_bit16=((crc &0x01)^(byte&0x 01));
crc=crc>>1;
if (crc_bit16)
{
crc=(crc^CRC16_ POLYNOMIAL);
}
byte=byte>>1;
}
return(crc);
}

Here is my VB6 code

Function CRC(CRCIn As Long, ByteIn As Byte) As Long

Const CRC16Polynomial = &HA001
Dim CRCBit16 As Integer
Dim I As Integer
Dim WrkByte As Integer
Dim WrkCRC As Long

WrkByte = ByteIn
WrkCRC = CRCIn
For I = 0 To 7
CRCBit16 = ((WrkCRC And &H1) Xor (WrkByte And &H1))
WrkCRC = ShiftRight(WrkC RC, 1)
If CRCBit16 <> 0 Then
WrkCRC = (WrkCRC Xor CRC16Polynomial )
End If
WrkByte = ShiftRight(WrkB yte, 1)
Next I
CRC = WrkCRC

END Function

And here is the routine that passes each byte through the CRC routine.

CRCIn = 0
CRC16 = 0
Open "C:\vbasic\shif t.src\Page0.bin " For Binary As #1
For I = 1 To 30
A$ = Input(1, 1)
ByteIn = Asc(A$)
CRCIn = CRC16
CRC16 = CRC(CRCIn, ByteIn)
Next I

Page0.bin is a small 32 byte file as shown below. The last 2 bytes are
the CRC as computed by my customers C routine. From looking through
more of their code it appears the CRC is stored as an inverse for some
reason using C's ~ inverse operator.

31 07 49 6E 73 74 72 6F
6E 06 49 6E 53 70 65 63
FF FF FF FF FF FF FF FF
FF FF FF FF FF FF 19 95

I thought the source of the error is in my ShiftRight routine. I tried
roughly 6 different routines claiming to be C's >> equivelent and always
get the same results. Any help is appreciated.

Jul 17 '05 #7


Steve Gerrard wrote:
What do you get instead? It is difficult to identify a bug if you don't what the
output is, as well as what it should be. Maybe you are getting all zeros? Doubt
it, but don't know what you are getting.


The original post showed what I should get. The last 2 bytes of the 32
byte data. No, not getting all 0's, just not the 19 95 that I should.
I'm not at work now and don't have VB6 on this computer but will post
the result I get. I was hoping someone is skilled at both VB6 and C++
and could see what I may have translated wrong as I do not know C at
all. Just looked up the areas of question. My guess is that it has
something to do with C's unsigned integers and how that plays in with
C's >> shiftright routine. I understand how C handles it but not sure
how to translate it to VB6.

Jul 17 '05 #8

"Miles" <un*****@unlist edspam.com> wrote in message
news:NX3kb.2987 9$Rd4.2397@fed1 read07...


Steve Gerrard wrote:
What do you get instead? It is difficult to identify a bug if you don't what the output is, as well as what it should be. Maybe you are getting all zeros? Doubt it, but don't know what you are getting.


The original post showed what I should get. The last 2 bytes of the 32
byte data. No, not getting all 0's, just not the 19 95 that I should.
I'm not at work now and don't have VB6 on this computer but will post
the result I get. I was hoping someone is skilled at both VB6 and C++
and could see what I may have translated wrong as I do not know C at
all. Just looked up the areas of question. My guess is that it has
something to do with C's unsigned integers and how that plays in with
C's >> shiftright routine. I understand how C handles it but not sure
how to translate it to VB6.


Found the snag. Your definition of the const in the VB version produces a
negative number, not the intended value:
Const CRC16Polynomial = &HA001 ' equals -24575 in VB, not 40961 as
desired.

Note that in addition to inverting all the bits at the end, the CRC is stored in
your sample file in low byte, high byte order (i.e. flipped), a common practice.
The following modified version of your VB code produces a CRC of H9519, as
desired:

Private Sub Command1_Click( )
Dim I As Integer
Dim CRC32 As Long
Dim CRC16 As Integer
Dim ByteIn As Byte
Dim A As String
Dim strIn() As String

'using a const instead of reading a file

Const Test As String = "&H31, &H07, &H49, &H6E, &H73, &H74, &H72, &H6F, &H6E,
&H06, &H49, &H6E, &H53, &H70, &H65, &H63, &HFF, &HFF, &HFF, &HFF, &HFF, &HFF,
&HFF, &HFF, &HFF, &HFF, &HFF, &HFF, &HFF, &HFF"

strIn = Split(Test, ",")

CRC32 = 0
For I = 0 To 29
A = strIn(I)
ByteIn = CInt(A)
CRC32 = CRC(CRC32, ByteIn)
Next I

'invert all bits
CRC32 = (CRC32 Xor &HFFFF)
'now get the 16 bit version
CRC16 = CRC32
Debug.Print CRC16, Hex(CRC16)

End Sub

Function CRC(CRCIn As Long, ByteIn As Byte) As Long

Const CRC16Polynomial As Long = 40961
Dim Bit As Boolean
Dim I As Integer
Dim WrkByte As Integer
Dim WrkCRC As Long

WrkByte = ByteIn
WrkCRC = CRCIn
For I = 0 To 7
Bit = ((WrkCRC And &H1) Xor (WrkByte And &H1))
WrkCRC = WrkCRC \ 2 'this is fine for shift right 1 bit
If Bit Then
WrkCRC = (WrkCRC Xor CRC16Polynomial )
End If
WrkByte = WrkByte \ 2
Next I
CRC = WrkCRC

End Function

That was fun.
Steve

Jul 17 '05 #9


Steve Gerrard wrote:
"Miles" <un*****@unlist edspam.com> wrote in message
news:NX3kb.2987 9$Rd4.2397@fed1 read07...

Steve Gerrard wrote:
What do you get instead? It is difficult to identify a bug if you don't what
the
output is, as well as what it should be. Maybe you are getting all zeros?
Doubt
it, but don't know what you are getting.


The original post showed what I should get. The last 2 bytes of the 32
byte data. No, not getting all 0's, just not the 19 95 that I should.
I'm not at work now and don't have VB6 on this computer but will post
the result I get. I was hoping someone is skilled at both VB6 and C++
and could see what I may have translated wrong as I do not know C at
all. Just looked up the areas of question. My guess is that it has
something to do with C's unsigned integers and how that plays in with
C's >> shiftright routine. I understand how C handles it but not sure
how to translate it to VB6.

Found the snag. Your definition of the const in the VB version produces a
negative number, not the intended value:
Const CRC16Polynomial = &HA001 ' equals -24575 in VB, not 40961 as
desired.

Note that in addition to inverting all the bits at the end, the CRC is stored in
your sample file in low byte, high byte order (i.e. flipped), a common practice.
The following modified version of your VB code produces a CRC of H9519, as
desired:

Private Sub Command1_Click( )
Dim I As Integer
Dim CRC32 As Long
Dim CRC16 As Integer
Dim ByteIn As Byte
Dim A As String
Dim strIn() As String

'using a const instead of reading a file

Const Test As String = "&H31, &H07, &H49, &H6E, &H73, &H74, &H72, &H6F, &H6E,
&H06, &H49, &H6E, &H53, &H70, &H65, &H63, &HFF, &HFF, &HFF, &HFF, &HFF, &HFF,
&HFF, &HFF, &HFF, &HFF, &HFF, &HFF, &HFF, &HFF"

strIn = Split(Test, ",")

CRC32 = 0
For I = 0 To 29
A = strIn(I)
ByteIn = CInt(A)
CRC32 = CRC(CRC32, ByteIn)
Next I

'invert all bits
CRC32 = (CRC32 Xor &HFFFF)
'now get the 16 bit version
CRC16 = CRC32
Debug.Print CRC16, Hex(CRC16)

End Sub

Function CRC(CRCIn As Long, ByteIn As Byte) As Long

Const CRC16Polynomial As Long = 40961
Dim Bit As Boolean
Dim I As Integer
Dim WrkByte As Integer
Dim WrkCRC As Long

WrkByte = ByteIn
WrkCRC = CRCIn
For I = 0 To 7
Bit = ((WrkCRC And &H1) Xor (WrkByte And &H1))
WrkCRC = WrkCRC \ 2 'this is fine for shift right 1 bit
If Bit Then
WrkCRC = (WrkCRC Xor CRC16Polynomial )
End If
WrkByte = WrkByte \ 2
Next I
CRC = WrkCRC

End Function

That was fun.
Steve


Jul 17 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
2480
by: RootShell | last post by:
Dear All Im having some dificulty here: I found a great PHP code by Catalin Mihaila that reads a SRC (Sinclair Spectrum $SCREEN Image Format) and tranforms it into PNG format to show onscreen by the PHP gd2 Library. The problem is that im trying to translate the 'fread' structure into a MySQL blob reading, as follows:
6
1550
by: Davis Marques | last post by:
hi; I'm translating some PHP scripts to Python and have hit a roadblock with a for statement. If someone could explain to me how one should translate the multiple increment, evaluations, etc. in the first line I would appreciate it deeply ... for ($y = 0, $x = $cx-$cy-1; $y <= $cy; ++$y,++$x) { $prd = $q * $y_ar + $car; $prd -= ($car = intval($prd / 1E7)) * 1E7;
3
2929
by: Jules | last post by:
Is anyone able to translate the following PHP to ASP ? or come up with something that would work. The reason for the code is that I'm using Indexing service to create a search engine on a company intranet. Unfortunately the Find.asp is bringing back the location of the link as its place on the server (eg C://Inetpub/www etc rather than a nice URL that works. I've been told this code may help but its in PHP. Thanks...
0
1355
by: Anuj Mathur | last post by:
Hello All We are making an application for translating the literals (HTML text and labels) of an existing ASP website from English to another language, say Swedish. Now, for this we are employing XML document to store the literals and their translations. The literals are passed as string parameters to a translation routine that picks up the translated value from the XML. The XML has a ID-
23
3133
by: gregf | last post by:
I have a paragraph of text pasted into a word document, it's in Polish, complete with polish characters. They show up just fine in word, but the program I use for web page programming, HomeSite, won't translate it. When I paste the text into the code, the special characters are missing. If they would show up there I could use the Replace Special Characters feature to change it to the proper code, but it won't even paste into it...
6
1222
by: Carlo, MCP | last post by:
Hello, please, help me to translate these four lines of C# code in VB: bool topLeft, topRight, bottomLeft, bottomRight; int topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius; topLeft = topRight = bottomLeft = bottomRight = true; topLeftRadius = topRightRadius = bottomLeftRadius = bottomRightRadius = workRadius;
5
1898
by: Vyz | last post by:
Hi, I have a script with hundreds of lines of javascript spread accross 7 files. Is there any tool out there to automatically or semi-automatically translate the code into python. Thanks Vyz
9
1940
by: lombardm | last post by:
I am trying to decipher/translate some code that I have no experience with. I am trying to find out how the checksum is computed for a Megellan Explorist GPS Waypoint (POI) file. Below is the first 3 lines of a typical file. I understand everything except how the "a*23" at the end of the line is arrived at.
5
4982
by: Andrus | last post by:
I have database containing translations. I'm creating VS 2005 WinForms application which should use this database to translate menu items to user language. I replaced lines in myform.designer.cs like Text = "File"; to call my translating routine
0
8268
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8202
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8707
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8641
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8366
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8510
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7199
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5575
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
1
1812
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.