O RLY?Quote:
Originally Posted by kohlrak
If you have no need for negative integers, then use unsigned integers. Anyway, nothing stops you from interpreting numbers the way you want, and in C++, you can even redefine the operators.
Printable View
O RLY?Quote:
Originally Posted by kohlrak
If you have no need for negative integers, then use unsigned integers. Anyway, nothing stops you from interpreting numbers the way you want, and in C++, you can even redefine the operators.
Actually, my table (i'm learning more and more about binary usign win calc, which seems to hold a biiiiiiit more logic than what you said) says you forgot somthing...
Binary:
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
9 = 1001
10 = 1010
11 = 1011
12 = 1100
13 = 1101
14 = 1110
15 = 1111
16 = 10000
17 = 10001
18 = 10010
19 = 10011
20 = 10100
21 = 10101
22 = 10110
23 = 10111
24 = 11000
25 = 11001
26 = 11010
27 = 11011
28 = 11100
29 = 11101
30 = 11110
31 = 11111
32 = 100000
Bit: (5/8 byte format with signing)
0 = 00000
1 = 00001
2 = 00010
3 = 00011
4 = 00100
5 = 00101
6 = 00110
7 = 00111
8 = 01000
9 = 01001
10 = 01010
11 = 01011
12 = 01100
13 = 01101
14 = 01110
15 = 01111
-1 = 11111
-2 = 11110
-3 = 11101
-4 = 11100
-5 = 11011
-6 = 11010
-7 = 11001
-8 = 11000
-9 = 10111
-10 = 10110
-11 = 10101
-12 = 10100
-13 = 10011
-14 = 10010
-15 = 10001
-16 = 10000
As you can see, the negatives must have 1 higher value than the positives, which means you xor everything then -1 (which is what you forgot), otherwise, you would (in the above standard) have 11111 would be -0 rather than -1. You cannot possibly have a -0.
Hmm... you could start by reading what I posted above. :PQuote:
Originally Posted by kohlrak
Two's complement is the most used representation, and I quote "you get the two's complement representation of a number by adding one to the one's complement form". The one's complement form is simply the negative numbers being inverted, and sticking a sign bit to the beginning.
And I managed to 'guess' the value of -3, so also you could've compared that.
And yeah, there is a standard where you DON'T add one to the negative forms, but the one you're looking for was mentioned directly below that in my post. :P
I missed that part. lol
But a standard like that would have a -0, what the heck?
Well, yeah, it would. And it does. Still, it's just like any other number representation.
Still, you could abuse that quirk, and use that value for error checking purposes. Or something.
And, even though it's some sort of standard, noone's telling you what numeric representation you have to use. I mean, when you deal with any kind of computer, you don't care how it adds 2 and 3 together, as long as the result is 5. What matters is that it should be as fast as possible.
But is that really in our hands? Do we really have the ability to tell the computer to read binary in our own way? Waaaaaaaaaaait... we do.... *gets out screw driver*
I just had a brainwave, this Java piece which has been fucking me over for the last few weeks, I have only been able to figure out how to add an Entry (this basically boiled down to input prompts at the Add entry button which appended text to the text field. I just need to figure out how to "browse" as it were, for every entry, that I could select that entry (though thinking about it, I could put it as a JTextlist and simply put the browser on one line and press the delete button to do that, but I have no idea how to do that lol) but if I can delete that way then editing will not be a problem, as it will simply replace the first item (deleting then Adding) sos if this went waaaaaaaaay over your head :S`
hmm, does anyone know how to do a command that does something with a selected line in a JTextList? :P
Dude pkt-zer0 thanks for the idea with keybuffer!!!
It seems that disabling local key repeat callbacks really
improves engine speed. (like a nice kick in the ass ;))
And comparing the speed of calls to Drawing function I can
tell that keyboard callbacks are really CPU time consuming...
For this you deserve a big one...but since I don't have
anything to offer I'll present you with some rep. ;)
^good rep of course :nosweat:
(shit!! "You must spread some rep around before giving it to pkt-zer0 again"
sorry dude but I'll remember that...)
A few oddities about glut, and why it sucks in some cases.
The glutTimerFunc does not work at consistent speeds on a variable clock freqeuncy processor. A friend of mine found this out when he experienced random speeds with a constant delay. Which is not a good thing, for sure.
Callbacks are slow because they allow for event-controlled programs. If you'd simply use an update loop every 15 milliseconds or so, you could still do the same, but event-controlling gives instantenous response, not just almost-instantenous. And it's easier to use.
BTW, you can change those callback functions during runtime as well, so that's an easy way of handling totally different types of input/display. (Like the game itself, and its menu system). Handy.
I don't mind that as long as I don't use it in actual real time animations, wichQuote:
Originally Posted by pkt-zer0
I know I should if I plan to get my programs CPU friendly. But this error
may be really troubling, that's for sure...
Well reading some game programming tutorials there is always mentionedQuote:
Originally Posted by pkt-zer0
that Keyboard callbacks are a big pain in the ass for game speed but
sometimes keyboard buffer fails too elspecially if you for example press
'a' then press 'shift' and then release 'a'. the result will be that
glutKeyboardFunc inform that 'a' key was pressed but it wasn't released
ever. That needed a little modification which I've made by releasing both
keys at glutKeyboardUpFunc. ;)
Yeah I know and I used those in my program cause global disable ofQuote:
Originally Posted by pkt-zer0
callbacks didn't work for some strange reason on my PC... :nosweat:
Hmm, I'm having a spot of trouble, its a simple thing I know, but in c, I did a thing where you press a number to select an option with the getchar() option, for example
Its probably a simple thing but I just don't know where I am going wrong :SCode:getchar();
if(getchar == 1)
{
printf("blah");
}
edit: also, I want to try an escape option such as if something is entered that isn't an option ie. 1,2 or 3. that it repeats the getchar, I was wondering what would be a simple way to go back to the prompt.?
Edit 2: actually I was wonder as well I have a program, that closes down once it completes it's task, I was wondering how to change the settings back to normal and repeat it (i = 0 and goes to 8, but I want it to go back to 0 again to repeat it, if anyone gets what I mean :S)
For the first part:
getchar returns the value that was read from the standard input, which is the keyboard, by default. So you'll have to do something like this:
I don't get what you mean by the second part, but if it's reinitalizing and restarting a program, just write a function that resets all values to their defaults, and run it whenever you go back to the start of the program.Code:#define ESC 27
char c;
while ( (c = getchar() ) != ESC ) {
switch (c) {
case '1':
// do stuff
break;
default:
printf("Invalid input.");
break;
}
}
printf("Leaving program");
oh, I was going to use getchar just to get around the scanf. Hmm, I'll just play around with the scanf then. God I feel like I did when I was doing Java last year :SQuote:
Originally Posted by pkt-zer0
Getchar would be better in case of a menu, since it's not buffered, by default. With scanf that would require flushing the buffer on erroneous input. Your call, anyway, but unless you need to read more than one character at a time (like, inputting a name, a date, or something similar), use getchar.