## How to get the negate of decimal to binary?

 shell scripts How to get the negate of decimal to binary?
How to get the negate of decimal to binary?

Hi All,
New to this forum (and yes , a newbie in programming.. )

I have a decimal to binary converter script done this way :

i=\$1

bit0=\$(( (i & 0x01) > 0 ))
bit1=\$(( (i & 0x02) > 0 ))
bit2=\$(( (i & 0x04) > 0 ))
bit3=\$(( (i & 0x08) > 0 ))
bit4=\$(( (i & 0x10) > 0 ))
bit5=\$(( (i & 0x20) > 0 ))
bit6=\$(( (i & 0x40) > 0 ))
bit7=\$(( (i & 0x80) > 0 ))

Fisrt I would like to understand how the expression \$(( (i & 0x01) > 0 )) works

Next, I need to obtain the same bits to its negate, so i.e. if for decimal 177

bit0=1
bit1=0
bit2=0
bit3=0
bit4=1
bit5=1
bit6=0
bit7=1

I need

bit8=0
bit9=1
bitA=1
bitB=1
bitC=0
bitD=0
bitE=1
bitF=0

is there a way to accomplish this inside the same script ??

Thank you very much.
 digiteltlc View Public Profile for digiteltlc Find all posts by digiteltlc
Are you sure it is a negate or an INVERT?

What you are showing looks like an INVERT...

So just subtract 177 from 255 and voila you have your decimal 78...

BTW is this homework?

Last edited by wisecracker; 12-11-2013 at 05:25 AM.. Reason: Corect my error...
 wisecracker View Public Profile for wisecracker Find all posts by wisecracker
hmmmmm????

I never seen the thing under this aspect...

Effectively, let's take 98 :

01100010

do 255-98=157 that is

10011101

comparing the two:

01100010
10011101

Exactly the opposite cosidering bit to bit !!!!! So I should keep the first part of the script to obtain the first conversion and add a second part to do 255-inputvalue and then again another conversion

like:

i=\$1
n=(255-i)

bit0=\$(( (i & 0x01) > 0 ))
bit1=\$(( (i & 0x02) > 0 ))
bit2=\$(( (i & 0x04) > 0 ))
bit3=\$(( (i & 0x08) > 0 ))
bit4=\$(( (i & 0x10) > 0 ))
bit5=\$(( (i & 0x20) > 0 ))
bit6=\$(( (i & 0x40) > 0 ))
bit7=\$(( (i & 0x80) > 0 ))

bit8=\$(( (n & 0x01) > 0 ))
bit9=\$(( (n & 0x02) > 0 ))
bitA=\$(( (n & 0x04) > 0 ))
bitB=\$(( (n & 0x08) > 0 ))
bitC=\$(( (n & 0x10) > 0 ))
bitD=\$(( (n & 0x20) > 0 ))
bitE=\$(( (n & 0x40) > 0 ))
bitF=\$(( (n & 0x80) > 0 ))

??????

Is there perhaps a quicker negation of already producted single bit0-bit7 bits ??

I need it for a little project in BeagleBone GPIO, not quite homework...(homework should be done many years ago....when I was younger with less woody brain... )

Thank you

Last edited by digiteltlc; 12-11-2013 at 05:44 AM..
 digiteltlc View Public Profile for digiteltlc Find all posts by digiteltlc
Hi...

REMEBER! What I have shown you is for 8 bits...
IF you require 16 bits the subtract your number from 65535...
(Similarly for 32 bits, etc...)

"\$1" is the first user argument of your shell script and it looks as though you will be entering your script as something like this:-
<CR> == carraiage return...

You have saved this argument inside your variable "i"

So "i" now contains a _string_ representation of your binary value...

Use something like:-
To change each bit...

This method keeps it all inside bash builtins...

I am at work ATM so replies will be sporadic from me so have a go yourself... ;o)
 wisecracker View Public Profile for wisecracker Find all posts by wisecracker
The argument passed to script is a decimal number
Anyway the method you suggested me (255-i then reconversion) works 100%
Just tested on real circuit.

So i'll go that way

Thank you very much again
 digiteltlc View Public Profile for digiteltlc Find all posts by digiteltlc
Might I suggest using what is already available?
I hope that this is useful. I got the basis of this elsewhere on the board so I thought I should share it.

Robin
Liverpool/Blackburn
UK
 rbatte1 View Public Profile for rbatte1 Visit rbatte1's homepage! Find all posts by rbatte1
!!! very good as well.. !!!!

Thank you very much
 digiteltlc View Public Profile for digiteltlc Find all posts by digiteltlc

Test Your Knowledge in Computers #719
Difficulty: Medium
Alan Minsky wrote the book Artificial Neural Networks, attacking the work of Frank Rosenblatt, which became the foundational work in the analysis of artificial intelligence applications in machine learning.
True or False?

## Negative decimal to binary

Is there a fast way to convert a negative decimal value into a signed binary number in bash script ? I've looked a lot on internet but I saw nothing... (For exemple : -1 become 11111111.)

## Urgent help needed.. C++ program to convert decimal to hexa decimal

Hi , seq can be 0...128 int windex = seq / 8; int bindex = seq % 8; unsigned char bitvalue = '\x01' << (7-bindex) ; bpv.bitmapvalue = bitvalue; This is the part of a program to convert decimal to bitmap value of hexadecimal. I want this to change to convert only to...

## Binary to decimal for particular bits

Hello, I have script which work fine on particular data.file . The next feature I want to achieve is to get the decimal equivalent of data to data. The data looks like this : data(01000000000000000000110000000000) thank you.. #include <iostream> #include <fstream> #include...

## Decimal to BCD (Binary Coded Decimal)

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Design an algorithm that accepts an input a decimal number and converts it into BCD (Binary...

## Decimal to BCD (Binary Coded Decimal)

Anybody please help me... Design an algorithm that accepts an input a decimal number and converts it into BCD (Binary Coded Decimal) representation. Also, draw its Flow Chart. This is a unix qn... plz post algorithm for that :confused:

## negate search help

Hi, I've tried a lot of negate codes in this forum, but they do not perform what I intended. Please help. inputfile: Paragraph1 contents: die1, die2, die3, pr_name1, pr_name2 pr_name3, pr_name4 Paragraph2 more contents: die1, die2, die3, pr_name1, pr_name2 pr_name3, pr_name4 ...

## Converting Binary decimal coded values to Ascii Values

Hi All, Is there any command which can convert binary decimal coded values to ascii values... i have bcd values like below ������������0�-- -v - Pls suggest a way to convert this. Thanks, Deepti.Gaur

## decimal to binary function error

I have the following simple code to return a binary number in a array format given an interger and the number of the bits for specifying the interger as binary number. #include <stdio.h> #include <stdlib.h> int main () { // int* get_binary_number(int* bit_array, int num, int...

## unix script for converting a decimal to binary

Could anybody please help me in writing a script in unix for converting a decimal number to binary number.