Using the old fashioned (unsigned) multiplication instruction in x64 assembly multiplies RAX (64 bit register) by a 64 bit register. The answer is stored in RDX:RAX (i.e. the answer is 128 bits). Is there any way, using native c++ to get the value in RDX (higher 64 bits)? One I can think of is: right/(limit/left) e.g. if we are limited to a byte then 97*123 would overflow:
97/(255/123) = 46 times, which is RDX's (if it was one byte) value. But this is too inefficient. Is there a fast way?
I haven't found anything that small for Matrix multiplication i was just going to ask about how i would multiply to matrices together in c++ as easy as possible, so for example say a i have the following
[2 0 1 0 * [3 0 6 -1 0 2] 0 3 1 2 3 1]
How would i multiply these together. Here is the example
I am new to C programming and I am just wondering how to multiply / divide two different variables which the user type in as the promt is asking like this:
Code: void inmatning3 (double *a, double *b) { printf("Mata in tv217 stycken flyttal: "); /* asks you to type in 2 numbers */ scanf("%lf %lf", a, b); }
When you've enterd the two numbers I need to eather multiply or divide the two variables "a" & "b" .....
I've been working on this program to create a simple desk calculator for a school assignment, and I managed to finish. All we had to do was add, subtract, multiply, and divide positive integers - and I was able to do that just fine. This program got me thinking though, because I do not know how to write commands to multiply/divide negative numbers.
In fact, when I divide a number like 21 by 4, it comes out to 5 because I don't know how to allow it to compute remainders (which wasn't a requirement for my program). This intrigued me so I've been trying to figure it out for the last few days but to no avail. Here's my code:
Code: void flush_buffer(){ int ch; while ((ch = getchar()) != ' ' && ch != EOF);
[Code]....
And just know that my code works perfectly fine, I'm not here for troubleshooting it. I just want to know what I can change to allow negative values to be correctly computed.
#include <iostream> using namespace std; int main(){ int polje[8][8];{ for(int i=0;i<8;i++) for(int j=0;j<8;j++) {
[Code] .....
I don't get any errors,the program works. The problem is that it doesnt work how it should. This is a simple program that multiplies 2 variables(i and j)that go from 0 to 7. The problem I have is with the logical operators,i want the program to skip multiplication with 0 and when the 2 variables are the same value. When i try using only 1 logical operator it work.
I'm building two DLLs - let's call them DLL_A and DLL_B. DLL_A builds as a standalone entity but DLL_B needs to link to the lib file for DLL_A (i.e. it imports some functionality from DLL_A). While linking DLL_B I see lots of errors taking the following form (bear in mind that port.cpp and port.h are source files in DLL_B:-
I'm not sure if I'm reading that correctly but to me, it seems to be saying that some STL components are somehow getting exported from DLL_A (std::vector maybe?? Or std::string??) and that they conflict with similar objects already in port.obj. Sure enough, when I used dumpbin /EXPORTS on DLL_A there did seem to be some evidence that that was true. So my next step was to examine the source code for port.obj. Of course, strictly speaking I should be examining some code from DLL_A but it has hundreds of source modules so I figured that I should start by identifying whatever it is in DLL_B that's throwing up the conflict (since I at least know which module the conflict is in!).
When I examined the source files for port.obj, std::string seems to get used quite often - but fortunately I could only find one occurrence of std::vector.
In port.h it occurs here:-
Code: class DLL_B_API Port : public boost::noncopyable { public: // c'tors + d'tors int get_connections (std::vector<std::string> &) const; // rest of class
In port.cpp it occurs here:-
Code: int Port::get_connections (std::vector<std::string> & c) const { if (!port_engine.available()) { c.insert (c.end(), _connections.begin(), _connections.end()); return c.size(); } return port_engine.get_connections (_port_handle, c); }
Is there anything in there that would be causing the above linker error? It's entirely possible that I'm looking in the wrong place but I suppose I've got to start somewhere....
I just found a possible clue in one of the header files for DLL_A, where I found this class declaration:-
Code: namespace PBD { class DLL_A_API Searchpath : public std::vector<std::string> { // Whatever... }; }
Might that be causing std::vector<std::string> to get exported?
I'm trying to get my C program to compile but it's not working at all. I've programmed a little in C++ before but I'm not used to C. Here's my program so far:
Code: int main(void){ // Establishes variables int num1, num2, product; float quotient;
[Code] .....
It keeps giving me an error message as follows:
"/usr/bin/ldrelabwk2: file format not recognized; treating as linker script /usr/bin/ldrelabwk2:1: syntax error collect2: ld returned 1 exit status"
I have to write a program, that multplicates very large numbers (out of range of long int). It's said that i need to use arrays and read the numbers as strings. My problem is to end function called "mnoz:, because i don't know how to sum the multiplicated values of arrays a and b.
"fatal error LNK1169: one or more multiply defined symbols found"
Here's my code:
#include "stdafx.h" #include <iostream> using namespace std; int main () { cout << "Avoiding Technology" << endl; bool status = true; int location; int a,b;
I have a code in here that u will multiply the number of seat and the number of ticket. I think I got the correct return value but it's still not working when i times it it always = 0 ...
#include<iostream> #include<iomanip> #include<string> #include<stdio.h> #include<fstream> int getBill(int seat); int getPos(char seat);
Create a program that adds, subtracts, multiplies, or divides two integers. The program will need to get a letter (A for addition, S for subtractions, M for multiplication, or D for division) and two integers from the user. If the user enters an invalid letter, the program should display an appropriate error message before the program ends. If the letter is A (or a), the program should calculate and display the sum of both integers. If the letter is S (or s), the program should display the difference between both integers. When calculating the difference, always subtract the smaller number from the larger one. If the letter is M (or m), the program should display the product of both integers. If the letter is D (or d), the program should divide both integers, always dividing the larger number by the smaller one."
And here is the test data. I am posting the results from my desk-check table.
operation first integer second integer answer A 10 20 30 a 45 15 60 S 65 50 15 s 7 13 6 G -1 M 10 20 200 d 45 15 3 d 50 100 2
Then, I transferred my program into a source file. Here it is:
//Exercise16.cpp - display answer of two integers
#include <iostream> using namespace std; int main() { //declare variables int firstInteger = 0;
[Code] ....
After putting in the data, everything worked fine, except the last two operations, which are M (multiplication) and D (division). All the answers for the last two operations essentially give me a 0.
I got this program to create an array of playing cards and assign the values and suits and shuffle the array. I'm at the point where I need to output the cards but I need to burn the first card by making it output "**" instead of the card. my cards[] is a constant so I can's assign the first card as such.
void showCards(const int cards[], int numCards, bool hideFirstCard) { if (cards[0]) { hideFirstCard=true; cards[0] = '**'; } for(int a = 0; a <= numCards; a++) { cout >> showCard(cards[a]); } }
Write a program using user-defined function which accepts an integer array and its size as arguments and assign the elements into a two dimensional array of integers in the following format: If the array is 1,2,3,4,5,6, the resultant 2D array is
The program should store a character array in reverse order then display the reversed array. I have also included in the code that will display the actual characters into the array as it loops through. So I know the characters are being stored, but why doesn't it display the entire string when I call it?
I wrote this simplified version of a program i am writing that parses data in UDP packets. In the process of doing so i pretty much answered all my questions and fix all the problems i was having.
decodeSystemMap function will be in loop, and will proccess packets that have mostly the same data, only a few items will be added or changed or deleted.
whats the best way to check if there are any new, deleted, or removed items in the packet and only modify those? Is there anything unsafe / dangrous about the way the code is now?
Code: /* * File: main.c * Author: david * * Created on May 23, 2013, 11:57 AM */
im trying to read in 1 array and get 2 as outputs from 3 different functions.my read array is easy enough were im getting confused is how to read that array, separate it and take out only the parts i want and place them into a 2nd, then again a 3rd array.i have the following so far:
this compiles without a complaint, but when i go to run it no longer responds after taking the 10th element (well 9th if counting from 0).I think i have the if correct for the even odd section, but when i try to populate B or C array with the output of that if statement from A is were i think things are dying...
#include <iostream> #include<fstream> int decryption(int); int multiply(int,int[][2]); using namespace std; main(){ int n; ifstream inFile; inFile.open ("out.txt");
[Code] .....
I was trying to store numbers read from a text file into 2D array but I am getting the error above.here is where the error occurs:
Assume you want to use a loop to process an array of characters starting from the beginning of the array. You want the loop to stop when you read the null terminator character from the array. Fill in the loop test condition that will make this work correctly.
index = 0; ch = array[index]; while ( _____________________________) { // process the character index++; ch = array[index]; }
I know to read a strings into array and tables.. what is they are mixed up?? strings are just names ( 3 characters) and there are bunch of table.. the max size was set to 60
ex. text file
JES DAN JEN . . . 01010101 10010101 RAM JET 01010010 10100101 .... and so on