473,385 Members | 1,838 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

C99 stdint.h

Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

--

Frederick Gotham
Aug 5 '06 #1
20 2464
Frederick Gotham said:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit
Well, it couldn't, obviously. And even if it could, would it matter?

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Aug 5 '06 #2
Richard Heathfield posted:
Frederick Gotham said:
>Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

Well, it couldn't, obviously. And even if it could, would it matter?

I would understand if it read:

Where possible, the types "uint8_t, uint16_t, uint32_t, uint64_t"
denote an unsigned integer type whose representation has exactly...

But it doesn't say "where possible" -- it plainly states that these types
are available... ?

--

Frederick Gotham
Aug 5 '06 #3
Frederick Gotham wrote:
| uint8_t, uint16_t, uint32_t, uint64_t
[...]
How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit
IIRC, the terms state that those typedefs are present _if_ there are
suitable types on the system. In the case of a 9 bit byte, they just
wouldn't be there.

What you would get would be int_least8_t etc though, I think.

Uli

Aug 5 '06 #4
Frederick Gotham wrote:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit
I suppose in order to warrant C99 standard compliance the compiler for
such a system would have to cater for the necessary translation and
storage methods. How it does that may not be the programmer's concern,
as long as he/she sticks to standard C.

A similar 'problem' exists for 64 bit variables on 32-bit machines. To
the programmer the long longs are available as if they were a system
default, yet the compiler translates all relevant code to multiple
32-bit manipulations.

Is there a particular (practical) reason for this question??
Sh.
Aug 5 '06 #5
Frederick Gotham wrote:
Richard Heathfield posted:
>Frederick Gotham said:
>>Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit
Well, it couldn't, obviously. And even if it could, would it matter?


I would understand if it read:

Where possible, the types "uint8_t, uint16_t, uint32_t, uint64_t"
denote an unsigned integer type whose representation has exactly...

But it doesn't say "where possible" -- it plainly states that these types
are available... ?
Perhaps Dinkumware don't support any 36-bit machines.
Aug 5 '06 #6
"Tim Prince" <ti***********@sbcglobal.netwrote in message
news:44**************@sbcglobal.net...
Frederick Gotham wrote:
>Richard Heathfield posted:
>>Frederick Gotham said:

Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit
Well, it couldn't, obviously. And even if it could, would it matter?


I would understand if it read:

Where possible, the types "uint8_t, uint16_t, uint32_t, uint64_t"
denote an unsigned integer type whose representation has exactly...

But it doesn't say "where possible" -- it plainly states that these types
are available... ?
Perhaps Dinkumware don't support any 36-bit machines.
We don't in our prepackaged libraries, to be sure. Our OEM customers
are free to modify our headers, and documentation, to meet more
specific needs.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Aug 5 '06 #7
Frederick Gotham <fg*******@SPAM.comwrites:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit
It isn't. The uintN_t types are optional.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Aug 5 '06 #8
On Sat, 05 Aug 2006 21:45:52 GMT, Keith Thompson <ks***@mib.orgwrote
in comp.lang.c:
Frederick Gotham <fg*******@SPAM.comwrites:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

It isn't. The uintN_t types are optional.
Actually, "semi optional" would be more accurate. If an
implementation provides any or all types which meet the definition,
namely exactly that many bits, no padding, and 2's complement
representation for negative values in the signed types, it is required
to provide the appropriate typedefs.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Aug 6 '06 #9
On Sat, 05 Aug 2006 13:56:08 GMT, Frederick Gotham
<fg*******@SPAM.comwrote in comp.lang.c:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit
Purchase and read a copy of the C standard, 1999 or later, and all
will be revealed to you.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Aug 6 '06 #10
In article <Yr*******************@news.indigo.ie>, Frederick Gotham
<fg*******@SPAM.comwrites
>Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit
Then create and use the following types.

uint9_t, uint18_t, uint36_t
--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch***@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Aug 11 '06 #11
Chris Hills posted:
Then create and use the following types.

uint9_t, uint18_t, uint36_t

Re-read my question.

--

Frederick Gotham
Aug 11 '06 #12

Frederick Gotham wrote:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit
The uint types are OPTIONAL. If they exist they are guaranteed to be a
given size [or at least represent the given range, padding bits
omitted...].

This is why using them is dangerous since any C99 conforming compiler
could not have them.

Tom

Aug 11 '06 #13
Tom St Denis wrote:
Frederick Gotham wrote:
>Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

The uint types are OPTIONAL. If they exist they are guaranteed to be a
given size [or at least represent the given range, padding bits
omitted...].

This is why using them is dangerous since any C99 conforming compiler
could not have them.
Or it is safe because if your code relies on a specific width, and there
are sometimes good reasons for doing this, then it is guaranteed that it
won't compile on any system where it would not work.
--
Flash Gordon
Still sigless on this computer.
Aug 11 '06 #14

Tom St Denis wrote:
Frederick Gotham wrote:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

The uint types are OPTIONAL. If they exist they are guaranteed to be a
given size [or at least represent the given range, padding bits
omitted...].

This is why using them is dangerous since any C99 conforming compiler
could not have them.
Types like uint32_t are required if the implementation
has a standard integer type that matches it.

Aug 12 '06 #15
en******@yahoo.com wrote:
>
Tom St Denis wrote:
>Frederick Gotham wrote:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

The uint types are OPTIONAL. If they exist they are guaranteed to be a
given size [or at least represent the given range, padding bits
omitted...].

This is why using them is dangerous since any C99 conforming compiler
could not have them.

Types like uint32_t are required if the implementation
has a standard integer type that matches it.
Two nits: uint32_t is required if the implementation has an integer type
(standard integer type or extended integer type) that matches it, and the
implementation also has an integer type that matches int32_t.
Aug 13 '06 #16

Harald van Dijk wrote:
en******@yahoo.com wrote:

Tom St Denis wrote:
Frederick Gotham wrote:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

The uint types are OPTIONAL. If they exist they are guaranteed to be a
given size [or at least represent the given range, padding bits
omitted...].

This is why using them is dangerous since any C99 conforming compiler
could not have them.
Types like uint32_t are required if the implementation
has a standard integer type that matches it.

Two nits: uint32_t is required if the implementation has an integer type
(standard integer type or extended integer type) that matches it,
Yes. Notice I spelled if with only one f.
and the
implementation also has an integer type that matches int32_t.
That's not how I read the requirement. An int32_t must
be provided if there's a type that matches it; a uint32_t
must be provided if there's a type that matches it; but
either can be required without the existence of the other.

Aug 13 '06 #17
en******@yahoo.com wrote:
>
Harald van Dijk wrote:
>en******@yahoo.com wrote:
>
Tom St Denis wrote:
Frederick Gotham wrote:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

The uint types are OPTIONAL. If they exist they are guaranteed to be
a given size [or at least represent the given range, padding bits
omitted...].

This is why using them is dangerous since any C99 conforming compiler
could not have them.

Types like uint32_t are required if the implementation
has a standard integer type that matches it.

Two nits: uint32_t is required if the implementation has an integer type
(standard integer type or extended integer type) that matches it,

Yes. Notice I spelled if with only one f.
>and the
implementation also has an integer type that matches int32_t.

That's not how I read the requirement. An int32_t must
be provided if there's a type that matches it; a uint32_t
must be provided if there's a type that matches it; but
either can be required without the existence of the other.
7.18.1p1:
"When typedef names differing only in the absence or presence of the initial
u are defined, they shall denote corresponding signed and unsigned types as
described in 6.2.5; an implementation providing one of these corresponding
types shall also provide the other."

I'll admit 7.18.1.1p3 is ambiguous, but your (unfortunately legitimate)
interpretation of it leads to ridiculous results, such as any
implementation with CHAR_BIT==8 and no two's complement being
nonconforming.
Aug 13 '06 #18

Harald van Dijk wrote:
en******@yahoo.com wrote:

Harald van Dijk wrote:
en******@yahoo.com wrote:


Tom St Denis wrote:
Frederick Gotham wrote:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

The uint types are OPTIONAL. If they exist they are guaranteed to be
a given size [or at least represent the given range, padding bits
omitted...].

This is why using them is dangerous since any C99 conforming compiler
could not have them.

Types like uint32_t are required if the implementation
has a standard integer type that matches it.

Two nits: uint32_t is required if the implementation has an integer type
(standard integer type or extended integer type) that matches it,
Yes. Notice I spelled if with only one f.
and the
implementation also has an integer type that matches int32_t.
That's not how I read the requirement. An int32_t must
be provided if there's a type that matches it; a uint32_t
must be provided if there's a type that matches it; but
either can be required without the existence of the other.

7.18.1p1:
"When typedef names differing only in the absence or presence of the initial
u are defined, they shall denote corresponding signed and unsigned types as
described in 6.2.5; an implementation providing one of these corresponding
types shall also provide the other."
Interesting. This can be read either as saying that
an implementation can't provide uint32_t unless it
also provides int32_t (and vice versa), or as saying
that if an implementation has a type that matches
uint32_t it must also provide a type that matches
int32_t (and vice versa) (and similarly for 8,16,64).
I'll admit 7.18.1.1p3 is ambiguous, but your (unfortunately legitimate)
interpretation of it leads to ridiculous results, such as any
implementation with CHAR_BIT==8 and no two's complement being
nonconforming.
An implementation with CHAR_BIT==8 and ones complement
for signed char would simply be required to have an
extended integer type with size 1 and that uses twos
complement for its signed type. There's no reason an
implementation can't have both ones complement types
and twos complement types.

In any case, good to have 7.18.1p3 pointed out.

Aug 13 '06 #19
en******@yahoo.com wrote:
>
Harald van Dijk wrote:
>en******@yahoo.com wrote:
>
Harald van Dijk wrote:
en******@yahoo.com wrote:
Tom St Denis wrote:
Frederick Gotham wrote:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

The uint types are OPTIONAL. If they exist they are guaranteed to
be a given size [or at least represent the given range, padding
bits omitted...].

This is why using them is dangerous since any C99 conforming
compiler could not have them.

Types like uint32_t are required if the implementation
has a standard integer type that matches it.

Two nits: uint32_t is required if the implementation has an integer
type (standard integer type or extended integer type) that matches it,

Yes. Notice I spelled if with only one f.

and the
implementation also has an integer type that matches int32_t.

That's not how I read the requirement. An int32_t must
be provided if there's a type that matches it; a uint32_t
must be provided if there's a type that matches it; but
either can be required without the existence of the other.

7.18.1p1:
"When typedef names differing only in the absence or presence of the
initial u are defined, they shall denote corresponding signed and
unsigned types as described in 6.2.5; an implementation providing one of
these corresponding types shall also provide the other."

Interesting. This can be read either as saying that
an implementation can't provide uint32_t unless it
also provides int32_t (and vice versa), or as saying
that if an implementation has a type that matches
uint32_t it must also provide a type that matches
int32_t (and vice versa) (and similarly for 8,16,64).
>I'll admit 7.18.1.1p3 is ambiguous, but your (unfortunately legitimate)
interpretation of it leads to ridiculous results, such as any
implementation with CHAR_BIT==8 and no two's complement being
nonconforming.

An implementation with CHAR_BIT==8 and ones complement
for signed char would simply be required to have an
extended integer type with size 1 and that uses twos
complement for its signed type.
Meaning if it has no such two's complement type, it cannot be conforming.
That's what I said, isn't it?
There's no reason an
implementation can't have both ones complement types
and twos complement types.
The standard doesn't prohibit it, but hardware limitations are a possible
reason.
In any case, good to have 7.18.1p3 pointed out.
I'm not sure if you mean 7.18.1p1 or 7.18.1.1p3, but either way :)
Aug 13 '06 #20

Harald van Dijk wrote:
en******@yahoo.com wrote:

Harald van Dijk wrote:
en******@yahoo.com wrote:

Harald van Dijk wrote:
en******@yahoo.com wrote:


Tom St Denis wrote:
Frederick Gotham wrote:
Here's an excerpt from the Dinkumware library reference:
__________
| uint8_t, uint16_t, uint32_t, uint64_t
|
| The types each specify an unsigned integer type
| whose representation has exactly eight, 16, 32,
| or 64 bits, respectively.
__________

How could that be possible if we had a 36-Bit system such as the
following?

char: 9-Bit
short: 18-Bit
int: 36-Bit
long: 36-Bit

The uint types are OPTIONAL. If they exist they are guaranteed to
be a given size [or at least represent the given range, padding
bits omitted...].

This is why using them is dangerous since any C99 conforming
compiler could not have them.

Types like uint32_t are required if the implementation
has a standard integer type that matches it.

Two nits: uint32_t is required if the implementation has an integer
type (standard integer type or extended integer type) that matches it,

Yes. Notice I spelled if with only one f.

and the
implementation also has an integer type that matches int32_t.

That's not how I read the requirement. An int32_t must
be provided if there's a type that matches it; a uint32_t
must be provided if there's a type that matches it; but
either can be required without the existence of the other.

7.18.1p1:
"When typedef names differing only in the absence or presence of the
initial u are defined, they shall denote corresponding signed and
unsigned types as described in 6.2.5; an implementation providing one of
these corresponding types shall also provide the other."
Interesting. This can be read either as saying that
an implementation can't provide uint32_t unless it
also provides int32_t (and vice versa), or as saying
that if an implementation has a type that matches
uint32_t it must also provide a type that matches
int32_t (and vice versa) (and similarly for 8,16,64).
I'll admit 7.18.1.1p3 is ambiguous, but your (unfortunately legitimate)
interpretation of it leads to ridiculous results, such as any
implementation with CHAR_BIT==8 and no two's complement being
nonconforming.
An implementation with CHAR_BIT==8 and ones complement
for signed char would simply be required to have an
extended integer type with size 1 and that uses twos
complement for its signed type.

Meaning if it has no such two's complement type, it cannot be conforming.
That's what I said, isn't it?
There's no reason an
implementation can't have both ones complement types
and twos complement types.

The standard doesn't prohibit it, but hardware limitations are a possible
reason.
No extra hardware needed. Just two 256-element tables,
one with int's, one with unsigned char's - an indexed
load to promote to int, an indexed copy byte to save
an int value as an int8_t.
In any case, good to have 7.18.1p3 pointed out.

I'm not sure if you mean 7.18.1p1 or 7.18.1.1p3, but either way :)
Right, 7.18.1.1p3. :)

Aug 13 '06 #21

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

Similar topics

10
by: Scott David Daniels | last post by:
I am trying to figure out how to get 2.4a2 to build a python extension. GCC 2.2.95 does not have a stdint.h, but 3.2.3 does. These two are the only gcc versions I have on my box. Does anyone...
6
by: J. Campbell | last post by:
I'm wondering if there are any compelling reasons NOT to use the types defined in stdint.h in c-programms? Please refer to this thread:...
8
by: phil-news-nospam | last post by:
I have some code where I am using certain literal values cast to stdint types like uint32_t, uint64_t, etc. In gcc versions below 3.3 it's working OK. Here's an example: (uint64_t)...
1
by: shaun roe | last post by:
Is there a c++ version of the old stdint.h header? I naively tried <cstdint>, and looking quickly on the web I find only discussion but no real answer... cheers shaun
4
by: copx | last post by:
I wonder how portable the exact width types defined by stdint.h are. I guess target platforms are not required to actually have all those types, right? What happens in that case?
11
by: santosh | last post by:
Hello all, Conversion macros along the name of INT8_C, INT16_C etc, are defined in stdint.h to convert their argument into suitable representations for their corresponding types, i.e. int8_t,...
10
by: Mikail Dellovich | last post by:
stdint.h exists on my Solaris 10(sparc) system but not on my Solaris 9(sparc) system. How do I rectify this situation? Thanks
130
by: euler70 | last post by:
char and unsigned char have specific purposes: char is useful for representing characters of the basic execution character set and unsigned char is useful for representing the values of individual...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
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,...
0
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...
0
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...

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.