Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7643277
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T09:24:30+00:00 2026-05-31T09:24:30+00:00

typedef unsigned int Set[10]; Set set1; I am correct in assuming that this creates

  • 0
typedef unsigned int Set[10];
Set set1;

I am correct in assuming that this creates a variable of type Set named set1 with 320 bits of storage space?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T09:24:31+00:00Added an answer on May 31, 2026 at 9:24 am

    The number of bits (and bytes1) allocated may vary. Though, it is guaranteed to create a sequentiell storage for 10 integers which can be references through set1.


    What does the standard say?

    The standard doesn’t force a byte to contain N bits since that will make it harder to write compilers for a platform which doesn’t have N bits in a byte.

    [open-std.org – n1147.pdf, 3.6/3]

    • A byte is composed of a contiguous sequence of bits, the
      number of which is implementation defined
      . The least significant bit
      is called the low-order bit; the most significant bit is called the
      high-order bit.

    How would I get the number of bits in type T?

    There is a constant (CHAR_BIT) defined that holds the number of bits in a char in <climits>.

    Since all types consists of N bytes and a char is guaranteed to yield 1 when doing sizeof(char) we can use this constraint to calculate the bits in any arbitrary type.

    #include <climits>
    
    template<typename T>
    struct sizeof_in_bits {
      enum {
        value = sizeof(T) * CHAR_BIT
      };
    };
    

    std::cerr << "output: " << sizeof_in_bits<unsigned int[10]>::value;
    

    output: 320

    The above output is, as mentioned, implementation-defined.


    1 The standard doesn’t force the size of an int to be M bytes. All it cleary states is that an int is to be able to hold at least -32767 through 32767 (if signed), and 0 to 65535 (if unsigned).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have defied a variable type as follows: typedef unsigned int color[3]; I then
Given an integer typedef: typedef unsigned int TYPE; or typedef unsigned long TYPE; I
Relevant code is this: typedef unsigned long int chunk_head; typedef struct malloc_chunk { //
I have created this code: #include <stdio.h> typedef unsigned int uint; uint in[2]={1,2},out[2]={3,4}; int
I have a typedef typedef unsigned int my_type; used in a file. I would
I have typedef unsigned int DWORD; void write_str(string str, char** buf) { DWORD len
on a 32 bit machine: typedef int word; or typedef unsigned int word;
The situation: typedef unsigned int u32; typedef unsigned char u8; const u8 *x; ...
I have the following typedef's in my code: typedef unsigned long int ulint; typedef
For some reason, when I define a variable as uint instead of unsigned int

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.