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

  • Home
  • SEARCH
  • 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 8547805
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 11, 20262026-06-11T13:20:52+00:00 2026-06-11T13:20:52+00:00

I quite understand a what 32 or 64 bit system means. so basically all

  • 0

I quite understand a what 32 or 64 bit system means. so basically all registers or word length is either 32 or 64 bit.

For simplicity let us take a 32 bit system and say i’am writing a program in C. if i declare a int type say “int a = 5;” then a memory location of one word length is reserved for var a. so when ever i want to access it i can do so using word address for that memory location.

But say i have 4 characters ” char a,b,c,d;” since it is one byte each all of them are placed in one word, so what do i do if i want to access only char b?(saying the memory is byte addressable) now say b is the third byte in the word….then how does it come on to the bus? is’nt the 3rd byte hard wired to 17th to 24th line in the bus? so what happens to the other 24 lines when only b is being accessed?

  • 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-06-11T13:20:53+00:00Added an answer on June 11, 2026 at 1:20 pm

    The answer to your question largely depends on which compiler you use and the internal workings of your CPU, memory controller and memory architecture (cache and external memory).
    You only have control over the compiler (assuming you are using C or C++ compiler). Compilers have different modes for cases when you are using variables which are smaller than a word size. There are flags for speed optimization and memory optimization. Depending on which of those flags are turned on, the compiler may choose to generate code which packs all four variables (in your case) into one word. Or the compiler may choose to allocate a memory word for each of the variables but use a particular byte to store the actual value. The way the compiler will do it for each of the cases is to generate different set of instructions for the CPU. In the latter case, if the variable is read from memory then the entire word is put on the bus and then into a general purpose register. In the former case, the word is put in the register but then the word can get shifted bit wise and the other bits can be zeroed out by using logic AND operation. That way the right byte is going to be in the register. Or may be the CPU architecture supports byte level access in a word in which case it will be only one operation performed by the CPU.
    In the end, it is a good idea to understand what happens inside but you will not care much because the set of instructions generated by the compiler will work correctly from your standpoint. The only time you will care is when you write performance sensitive software. In that case you will need to know the details of your CPU and memory as well as the flags supported by the compiler.

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

Sidebar

Related Questions

Here's a question that I don't quite understand: The command, system(pause); is taught to
I've been tinkering with this a little bit as well and can't quite understand
I came across an oddity today that I don't quite understand. Take this code,
I don't quite understand how Google Maps 's google.maps.LatLngBounds.isEmpty function works. What defines a
I don't quite understand the OSGi version of the latest Apache Felix version (4.0.2).
I don't quite understand static variables when defined in the implementation of an interface.
I don't quite understand whats happening here a=[1,2,3,4] b=[5,6,7,8] a[len(a):] = b seems to
Im using Doctrine and i dont quite understand this code here: $this->hasColumn('id', 'integer', 8,
There's something I don't quite understand with how references are handled in C++: B
I found a couple examples online but I don't quite understand how it works.

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.