Sponsored Content
Full Discussion: toggle bit
Top Forums Programming toggle bit Post 302431605 by Praveen_218 on Tuesday 22nd of June 2010 09:06:44 AM
Old 06-22-2010
The direct answer to your question :

Code:
int main() {
unsigned short int v = 7;                             // First 13  MSB == 0; Last 3 LSB == 1 --> 0000000000000111
unsigned short int toggled_bit = (0xffff ^ v) ; // toggled_bit now have a bits pattern  --> 1111111111111000

   printf("Actual Variable == %u --- toggled bit value %u\n", v, toggled_bit);
}


The shortest answer, isn;t it?

Now a bigger code; write a function Smilie

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/errno.h>

unsigned short toggleBits ( unsigned short a_val) {
   return (0xffff ^ a_val);
};

int main(int argc, **argv) {
unsigned short int val = 0;
   if(argc < 2) exit(1);
   val = (unsigned short) atoi(argv[1]);
   printf(" val == %u\n" , val);
   for(int i = 0; i < 4; i++) {
      val = toggleBits(val);
      printf(" val == %u\n" , val);
   } 
   return 0;
}

However, if you wana just toggle a single bit (say n'th bit) , then instead of FFFF, use a value equivalent to 2^n (2 to the power n) and do the XOR operation exactly similar to the above code.

Let me know, if you need any specific question. You still need to explore yourself a lot by writing simple codes doing such bitwise operation to get more clarity.

Last edited by Praveen_218; 06-22-2010 at 02:05 PM.. Reason: Typo mistake corrections and some minor additions ...
This User Gave Thanks to Praveen_218 For This Post:
 

6 More Discussions You Might Find Interesting

1. Programming

copying or concatinating string from 1st bit, leaving 0th bit

Hello, If i have 2 strings str1 and str2, i would like to copy/concatenate str2 to str1, from 1st bit leaving the 0th bit. How do i do it? (2 Replies)
Discussion started by: jazz
2 Replies

2. Shell Programming and Scripting

Toggle Hidden Files Mac OS X

Hi all, I have been using Ubuntu for 2 years now, and a few days ago I bought a Macbook. This is my first time using a Mac, so I have spent the better of two days learning the user interface, and configuring my Macbook. One thing I noticed is that there is no easy way to turn on and off hidden... (0 Replies)
Discussion started by: Omniwheel
0 Replies

3. Shell Programming and Scripting

Perl script to toggle through dates by week

Hi, I need help to toggle through dates on a weekly basis to be fed into a script as inputs. The format should be: yyyy/mm/dd (start) yyyy/mm/dd (end), where end date is 7 days increments. The date (start) would be input as an ARGV and would continue until current date. I can check... (2 Replies)
Discussion started by: subhap
2 Replies

4. Shell Programming and Scripting

How to Toggle Flag/Switch Value with Sed

I am trying to figure out a one liner to toggle a flag variable. eg. FLAG=0 Is there a way to use sed to toggle above example between 0 and 1. That is if run with flag set to zero it would change it to one if run again it would set it to zero. I thought I had it figured but the... (6 Replies)
Discussion started by: bsquared
6 Replies

5. Shell Programming and Scripting

How to handle 64 bit arithmetic operation at 32 bit compiled perl interpreter?H

Hi, Here is the issue. From the program snippet I have Base: 0x1800000000, Size: 0x3FFE7FFFFFFFF which are of 40 and 56 bits. SO I used use bignum to do the math but summing them up I always failed having correct result. perl interpreter info, perl, v5.8.8 built for... (0 Replies)
Discussion started by: rrd1986
0 Replies

6. Windows & DOS: Issues & Discussions

Which version of Windows Vista to install with a product key? 32-bit or 64-bit?

Hello everyone. I bought a dell laptop (XPS M1330) online which came without a hard drive. There is a Windows Vista Ultimate OEMAct sticker with product key at the bottom case. I checked dell website (here) for this model and it says this model supports both 32 and 64-bit version of Windows... (4 Replies)
Discussion started by: milhan
4 Replies
DWARF_GET_AT_NAME(3)					   BSD Library Functions Manual 				      DWARF_GET_AT_NAME(3)

NAME
dwarf_get_ACCESS_name, dwarf_get_AT_name, dwarf_get_ATE_name, dwarf_get_CC_name, dwarf_get_CFA_name, dwarf_get_CHILDREN_name, dwarf_get_DS_name, dwarf_get_DSC_name, dwarf_get_EH_name, dwarf_get_END_name, dwarf_get_FORM_name, dwarf_get_ID_name, dwarf_get_INL_name, dwarf_get_LANG_name, dwarf_get_LNE_name, dwarf_get_LNS_name, dwarf_get_MACINFO_name, dwarf_get_OP_name, dwarf_get_ORD_name, dwarf_get_TAG_name, dwarf_get_VIRTUALITY_name, dwarf_get_VIS_name -- retrieve the symbolic names of DWARF constants LIBRARY
DWARF Access Library (libdwarf, -ldwarf) SYNOPSIS
#include <libdwarf.h> int dwarf_get_ACCESS_name(unsigned val, char **str); int dwarf_get_AT_name(unsigned val, char **str); int dwarf_get_ATE_name(unsigned val, char **str); int dwarf_get_CC_name(unsigned val, char **str); int dwarf_get_CFA_name(unsigned val, char **str); int dwarf_get_CHILDREN_name(unsigned val, char **str); int dwarf_get_DS_name(unsigned val, char **str); int dwarf_get_DSC_name(unsigned val, char **str); int dwarf_get_EH_name(unsigned val, char **str); int dwarf_get_END_name(unsigned val, char **str); int dwarf_get_FORM_name(unsigned val, char **str); int dwarf_get_ID_name(unsigned val, char **str); int dwarf_get_INL_name(unsigned val, char **str); int dwarf_get_LANG_name(unsigned val, char **str); int dwarf_get_LNE_name(unsigned val, char **str); int dwarf_get_LNS_name(unsigned val, char **str); int dwarf_get_MACINFO_name(unsigned val, char **str); int dwarf_get_OP_name(unsigned val, char **str); int dwarf_get_ORD_name(unsigned val, char **str); int dwarf_get_TAG_name(unsigned val, char **str); int dwarf_get_VIRTUALITY_name(unsigned val, char **str); int dwarf_get_VIS_name(unsigned val, char **str); DESCRIPTION
These functions return the symbolic name of a numeric DWARF constant. Argument val specifies the numeric value whose symbolic name is desired. Argument str should point to a location which will hold the returned NUL-terminated string containing the symbolic name of the specified value. The list of functions and the DWARF constants that they accept are: dwarf_get_ACCESS_name() DW_ACCESS_* constants. dwarf_get_AT_name() DW_AT_* constants. dwarf_get_ATE_name() DW_ATE_* constants. dwarf_get_CC_name() DW_CC_* constants. dwarf_get_CFA_name() DW_CFA_* constants. dwarf_get_CHILDREN_name() DW_CHILDREN_* constants. dwarf_get_DS_name() DW_DS_* constants. dwarf_get_DSC_name() DW_DSC_* constants. dwarf_get_EH_name() DW_EH_PE_* constants. dwarf_get_END_name() DW_END_* constants. dwarf_get_FORM_name() DW_FORM_* constants. dwarf_get_ID_name() DW_ID_* constants. dwarf_get_INL_name() DW_INL_* constants. dwarf_get_LANG_name() DW_LANG_* constants. dwarf_get_LNE_name() DW_LNE_* constants. dwarf_get_LNS_name() DW_LNS_* constants. dwarf_get_MACINFO_name() DW_MACINFO_* constants. dwarf_get_OP_name() DW_OP_* constants. dwarf_get_ORD_name() DW_ORD_* constants. dwarf_get_TAG_name() DW_TAG_* constants. dwarf_get_VIRTUALITY_name() DW_VIRTUALITY_* constants. dwarf_get_VIS_name() DW_VIS_* constants. RETURN VALUES
These functions return DW_DLV_OK on success. If the DWARF constant denoted by argument val is not recognized, these function return DW_DLV_NO_ENTRY. SEE ALSO
dwarf(3) BSD
April 22, 2011 BSD
All times are GMT -4. The time now is 11:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy